home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 April / EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso / EARCD / comm / bbs / SigmaX40.lha / SampleBBS / s!x-manual < prev    next >
Text File  |  1996-11-07  |  370KB  |  7,083 lines

  1. Document S!X Manual
  2.  
  3. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  5.  
  6.               S!X   S Y S O P S   &   U S E R S (ßeta)  M A N U A L
  7.  
  8.                                by: "Doc", S!X Development            
  9.                                                   
  10.                     REV DATE: 08-14-96    S!X VERSION: V0.39z2                              
  11.  
  12.            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       
  13.            NOTICE TO S!X USERS:  This manual is certainly not 100% 
  14.            complete to MY, STEVE, or S!X DEVELOPMENT expectations!
  15.            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~             
  16.    1.  "I" will appreciate everyone's input as to errors, "hidden features"
  17.        not documented, missing explanations, or suggestions.
  18.    
  19.    2.  V0.39z6 ßeta is the "1st" version to be produced in GUIDE format.
  20.        Much work obviously remains creating better "Links", restructing
  21.        chapters more logically, and documenting unexplained features.
  22.        
  23.    3.  Please send your "Reports", "Comments", S!X "Utils" to either of
  24.        the following addresses.  The quality of the FINAL S!X MANUAL
  25.        depends entirely on the feedback and co-operation I receive.
  26.  
  27.                           Doc, S!X Development
  28.                           BBS: Doc's Houses 614-855-3114
  29.                           NET: gagreen@iwaynet.net 
  30.  
  31.    4.  "Coding" for known defects to be corrected:
  32.  
  33.                <ERRATA> = "Errors" reported...or manual seems incorrect   
  34.                <KORECT> = Manual needs better explanation
  35.                <NO_DEF> = Feature not defined or documented
  36.                <VERIFY> = Verify if feature is working 100% as documented           
  37.                <FROM:>  = REVISION.DOC entrys not yet incorporated  
  38.                <BUG>    = "Erratic Behavior" or "Bug" reported
  39.  
  40.        
  41.                              C O N T E N T S
  42.  
  43.                                  Chapters:
  44.                                  ~~~~~~~~
  45.  
  46.              (1)............................. /X & S!X History 
  47.              (2)................................. Requirements
  48.              (3)................................. Installation
  49.              (4)...............Configuring S!X via ACP,STARTUP
  50.              (5)........ Explanation of ACP.STARTUP Parameters
  51.              (6)...........Configuring S!X using GUI CONFIG(x) 
  52.              (7).......... Install S!X in you Startup-Sequence
  53.              (8)...................... Controlling S!X via ACP
  54.              (9)............. S!X "Extended Conferences" Setup
  55.             (10)................. Using the S!X Account Editor
  56.             (11).........S!X "Program Logic" OR "HOW IT WORKS!
  57.             (12)..........S!X "User Menu Commands" You Can Use
  58.             (12.1).....S!X "Online Help System" Creation/Usage
  59.             (13)......."Custom Commands" File Format Setup/Use
  60.             (13.1)......DIZ-EXTRACT File Identification System
  61.             (13.2).....Using new BBS:SYSTEMS Commands with S!X 
  62.             (13.3).....Using new BBS:Commands/ "Internal Cmds!
  63.             (14)...........(MCI) Macro Command InterPreter Use
  64.             (14.1)Using BBSTexts to Display Screens/Texts/ANSI
  65.             (14.2)Using Special <FileNames> to Control Node(s)
  66.             (14.3)..Using Conf() Specific Texts/Commands/Bulls
  67.             (15).....S!X Doortypes and Programmer's Semiphores
  68.             (16).......Misc. Information on /X and S!X Systems
  69.             
  70.  
  71.  
  72. 1. CHAPTER 1    Historical Commentary:  by Doc
  73.    =============================================
  74.  
  75. **************************************************************
  76. CHAPTER 1    Historical Commentary:  by "Doc"
  77. **************************************************************
  78.   
  79.    Having been a part of the evolution of all version of /X and S!X
  80.    since its inception, let me give you a short overview of how all
  81.    the Ami-Expres and S!X-EXPRESS variations were developed.  I have
  82.    personally worked with all these gentlemen over the past SIX (6)
  83.    years.  This short commentary is a public acknowledgement of
  84.    each's contribution PAST, PRESENT, and FUTURE to Amiga BBS systems.
  85.  
  86.         
  87.    WHAT IS "/X" and "S!X" ?
  88.     
  89.    /X and S!X are BBSs, commonly called Bulletin Board Systems, allowing
  90.    the transfer of data, between host (S!X) and remote computers
  91.    (known as terminals or "users") via telephone or NULL MODEM LINK.
  92.     
  93.    The data can be files, electronic mail (E-Mail), and many other
  94.    services such as:  "Online Games"  "FAX"  "NetMail" and other
  95.    features similar to any modern telecommunications system.
  96.  
  97.        
  98.    HOW DID THEY ALL ORIGINATE ?
  99.  
  100.    The history of S!X and its "cousins" originates with Mr. Chuck
  101.    Maier's (TAG-BBS) who made his source code publicly available.  The
  102.    "Original Ami-Express" (/X V0.9 - V1.1t) was created by Mike Thomas
  103.    to demonstrate his programming skills to obtain professional work
  104.    with Amiga programming.  Mike is a former employee of GVP, most
  105.    noted for his GVP G-Force II and other installation programs.
  106.         
  107.    V2.0 - V2.34 were developed by Joe Hodge.  Mr. Hodge served in
  108.    the US Air Force while developing his C programming skills.  He
  109.    left military service to found Light Speed Technologies with a
  110.    view of converting Ami-Express into a commercial program.  Joe
  111.    released the source codes to V2.34 and V3.08 Beta in June 1992
  112.    to the PUBLIC DOMAIN.  He continues developing V3.0 and V4.0
  113.    versions of Ami-Express as a commercial program
  114.  
  115.    Spastic-Express is a PRIVATE CLONE developed by Mr. Ron Shaw.  
  116.    Mr. Shaw is a former engineer, a programmer for NASA, and a
  117.    private computer freelance writer residing in Floria.  This
  118.    version is not Publicly available.
  119.  
  120.    S!X-Express is developed by Mr. Stephan Schiemann, a German
  121.    programmer.  Stephan (Steve to English friends) is a gentleman
  122.    like Mr. Thomas; a gifted young programmer demonstrating his
  123.    programming talents to enhance his professional reputation.
  124.      
  125.       S!X is the only version which is FREEWARE and PUBLICLY
  126.       SUPPORTED via various BBS systems and direct contact
  127.       with members of S!X Development via InterNET.  
  128.         
  129.    WHAT IS PLANNED IN THE FUTURE ?
  130.  
  131.    Mr. Hodge claims all variations of Ami-Express V3.0+ to be
  132.    COMMERCIAL and works on Ami-Express V4.7 as an income producing
  133.    COMMERCIAL ENTERPRISE.  I left my association with Mr. Hodge
  134.    with V2.34+ due to this view; we wish him well in his future.
  135.  
  136.        
  137.    Mr. Shaw continues to develop his PRIVATE VERSION for personal
  138.    enjoyment and amusement.  Ron is a close personal friend with
  139.    serious medical disabilities; he has had at least three highly
  140.    successful careers in industry prior to his present medical
  141.    difficulties.  Therefore he will likely continue his private
  142.    variant for personal satisfaction.
  143.  
  144.         
  145.    Mr. Schiemann is extremely active with S!X Development.  He
  146.    works closely with a few trusted associates in PROGRAMMING,
  147.    DESIGN, TESTING.  He also openly trades technical and programming
  148.    ideas and sources with developers of other BBS Systems such as
  149.    Tempest BBS.   
  150.         
  151.    Steve has stated, "S!X will always be FREEWARE.  It will never
  152.    become a COMMERCIAL PROPERTY.  I may someday have to ask for a
  153.    small honorarium to offset costs of supporting users, but even
  154.    this will be a nominal fee which no one will be obligated to
  155.    pay to obtain or use S!X." (Steve means a small contribution
  156.    to offset phone, mail, expenses incurred for DIRECT SUPPORT).
  157.  
  158.  
  159.    Ohh....I am Gregg Green (aka "Doc" or "GeeZER"). 
  160.         
  161.                                      "Doc", S!X Development
  162.  
  163.    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  164.    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  165.    A Personal "Introduction Letter" to S!X SysOPS and Users
  166.    
  167.    Written by: Steve Schiemann (Sigma-SEVEN!) and Gregg Green (Doc)
  168.  
  169.      Hi.  My name is Steve.  Many of you know me as Sigma-SEVEN!, the author 
  170. of S!X BBS.  I am taking a few minutes from coding the program to talk 
  171. to you, explaining what I am trying to accomplish for the entire Amiga       
  172. community.                                                                   
  173.      I live in Germany and am presently unemployed (PLEASE TELL POTENTIAL
  174. EMPLOYERS YOU KNOW).  I started coding utils for Ami-Express a few years ago    
  175. as a hobby.  Having become disenchanted with the direction which Joe Hodge   
  176. was taking, I decided to take the Public Domain sources and develop an       
  177. alternative while increasing my knowledge of programming.                    
  178.      I do not claim to be an expert programmer.  S-Express is being developed
  179. as I learn.  Therefore, some of the things which I certainly would like to   
  180. do are unfinished.  I hope everyone understands that this project is my      
  181. means to sharpen my skills, gain exposure in the community as a reasonably   
  182. skilled programmer, and continue to increase my knowledge of programming.    
  183.      I believe my program should be more than merely a way to exchange       
  184. files.  It should be, were I more capable, a complete communications systems 
  185. allowing for InterNET, TeleNET, FAX, Fido, and complete remote control       
  186. control.  I can not promise anyone that all these features will ever be      
  187. realized.  Nevertheless I work on ideas and coding regularly; ideas which    
  188. I know can be completed using the best programming skills and producing      
  189. fast, tight executables.                                                     
  190.      My goal is completing my education and gaining respect for my skills.   
  191. By skills I do not mean merely coding; moreso I mean my ability to write     
  192. a system which is quality and logical to both the system operator (SYSOP)    
  193. and the user.  A system should be complete, flexible, logical, and easy      
  194. to operate and understand.  It should look and feel professional if I am     
  195. to be respected for understanding your needs and wants.                      
  196.      I am working toward these goals, including working with others who      
  197. are writing "Express Utils" and other alternate versions.  I hope people     
  198. respect my efforts and will realize this is a hobby, not my job.  I          
  199. promise to continue development slowly as my time permits, listen to your    
  200. ideas, and never make a program which I feel is not the best quality within  
  201. my capabilities.                                                             
  202.                                       Stephan (Steve) Schiemann              
  203.                                       aka: Sigma-SEVEN!
  204.  
  205.      Hi.  Friends call me "Doc", but my real name is Gregg.  I've been       
  206. involved with Ami-Express ever since Mike Thomas's V0.9ß-V1.1w; later I     
  207. worked with Joe Hodge on V2.0-V2.34 until he switched to "icons".           
  208.      I am not a genius of Amiga programming either.  My background is in    
  209. software systems designs.  I live in the USA and own two businesses         
  210. in construction/development and a professional business consultinf firm.    
  211. Therefore I am the "old, gray man" around here, being 49 in March '96.      
  212.      My goal has always been to help programmers hone and market their      
  213. skills in industry; this is the reason Mike Thomas and I became good        
  214. friends.  I find Sigma (Steve) has the same type personality as Mike.       
  215. He has an instinct and insight into what is really quality, and he has the  
  216. potential to reach the level of Chris Hames, Geroge Hormann, and others I've
  217. been privledged to know and help.                                           
  218.      I am here to help Steve design S-Express, and to help any 3rd party    
  219. coders develop new ideas and  improve present utils.  "Express" is sorta    
  220. my baby I guess.  So helping people development themselves while seeing     
  221. it mature is fun and worth the hours spent on various design ideas.         
  222.      I keep a large collection of completed S-/X utils on my BBS, and       
  223. serve as a "Tech Support & ßeta Site"  for new versions of both          
  224. S-/X and utils which we have tested for compatability.  That way Steve      
  225. and others can concentrate on improving the system for all of us.           
  226.                                                                             
  227.                                       Gregg Green                           
  228.                                       aka: Doc
  229.  
  230.  
  231. 2. CHAPTER 2    Requirements Needed to Use S!X-Express
  232.    ===================================================
  233.  
  234. *************************************************************
  235. CHAPTER 2    Requirements Needed to Use S!X-Express
  236. *************************************************************
  237.  
  238.    Due to the flexible design of S!X-Express which is primarily based
  239.    upon Mike Thomas's V0.9 - V1.1t,Joe Hodge's V2.0 -V2.34 series, and
  240.    Steve's gifted talents in blending all these variants compatably
  241.    there are numerous ways to INSTALL or UPDATE from Ami-Express to
  242.    S!X-Express.  
  243.  
  244.    S!X-Express is installed via:  S!X Modular Install Packages
  245.  
  246.    1.  There are "combined" and "separate" packages developed for
  247.        conversion of the following /X versions:
  248.  
  249.        a.  Ami-Express V0.9 - V1.1t
  250.        b.  Ami-Express V2.0 - V2.34+
  251.        c.  Ami-Express V3.0 - V4.7+  (including "encrypted" USER.DATA)
  252.         
  253.    2.  "NEW INSTALLATIONS" are also accomplished by S!X Modular Install
  254.        Packages.  These packages are designed to be extremely user-
  255.        friendly and explain each step of S!X INTALLATION or UPDATING
  256.        from a previous version.
  257.             
  258.        a.  S!X Modular Install Packages - are available via any of
  259.            our "Support Sites".  At each site a highly knowledged
  260.            S!X Development Team Member is there to assist with
  261.            installation, technical problems, questions, or offer
  262.            assistance to the SysOP.
  263.  
  264.    ===================================================================
  265.  
  266.    Any program has certain SYSTEM REQUIREMENTS, S!X is no exception.
  267.    It is obvious you must own an Amiga computer (although "emulators"
  268.    may be developed to emulate correctly the Amiga OS in the future)
  269.         
  270.    REQUIREMENTS FOR SUCCESSFUL OPERATION:
  271.  
  272.    1.  Amiga 500, 2000, 2500, 3000, 1200, 4000 computer
  273.  
  274.    2.  AmigaDOS OS V2.04+   Kickstart V2.04+
  275.           
  276.        a.  S!X "Highly Suggests" you have at least V2.10+ of both
  277.            the AmigaDOS OS and Kickstart due to technical difficulties
  278.            with original CBM Releases of Version 2.
  279.  
  280.        b.  S!X is best operated with AmigaDOS V3.0+/V3.1 OS, due to
  281.            advanced features offered in these versions.  While all
  282.            main features are functional, several "enhanced functions"   
  283.            may not be available OR not supported in future versions
  284.            except in DOS OS V3.0+
  285.  
  286.    3.  RAM: You should have at least 2 MEGAbytes of FREE RAM to
  287.        operate S!X successfully.  
  288.  
  289.        a.  At least 1 MEGAbyte should be of "FASTRAM".  This is
  290.            to speed operations and allow certain operations to
  291.            occur to RAM: versus disk operations.
  292.             
  293.        b.  Add @250K RAM: for each NODE you wish to operate via
  294.            telephone lines for fastest operation.  
  295.       
  296.    4.  High Speed Modem.  Presently we consider USR HST 14.4 DUAL,
  297.                           HAYES, and similar modems to be minimum
  298.                           requirements in this day of high-speed
  299.                           data transmission.
  300.  
  301.    5.  I/O CARD is REQUIRED for "Multi-Noding" at high speed.  These
  302.        can be of the GVP, ASDG, or other high-quality varieties.
  303.  
  304.    6.  "STORAGE"  While S!X could be operated having enough RAM, it
  305.                  is an impracticality with high-speed BBS systems.
  306.  
  307.        There are now several methods of FILE/MESSAGE storage available
  308.        to Amiga owners.  These are combinations of TAPE, CD-ROM, HD,
  309.        RAM.  Therefore I will only outline "General Requirements"
  310.        common today among successful BBS Systems.
  311.  
  312.        a.  BBSs must be able to READ/WRITE a large amount of data
  313.            and retrieve it very quickly.  While requirements vary
  314.            from SITE to SITE, here are some general basics:
  315.  
  316.            1.  AT LEAST:  100 MEGAbytes of HD or READ/WRITE TAPE
  317.                           which is a valid AmigaDOS device.
  318.  
  319.                           The main point to consider is "Writing" space.
  320.                           If you wish to transfer MAIL/FILES, you will
  321.                           need much space....the more activity on your
  322.                           system the more space needed for callers to
  323.                           "WRITE" to your storage devices.
  324.                     
  325.            2.  BULK:      This can be accomplished via either a
  326.                           TAPE or HDrive in the 200-1400 MEG range,
  327.                           or via CD-ROM for sites offering files
  328.                           primarily available via ROM disks.
  329.  
  330.    7.  Beginning with S!X V0.39p (04-17-95) a KEY FILE is required to
  331.        be placed in your BBS: directory.  As yet, no part of the
  332.        program is "crippled".  It merely says you're running an
  333.        UNREGISTERED VERSION.........this is to encourage everyone using
  334.        S!X to let us know who/where/how/why you like our work.
  335.        
  336.        BBS:SigmaExpress.key  ( MUST EXIST AS:  BBS:SigmaExpress.key) 
  337.  
  338.    8.  AE.LIBRARY has been removed from S!X for quite a while.  However
  339.        some "Doors" still require this library, so you should have it.
  340.  
  341.    9.  LOCALE.LIBRARY and FIFO.LIBRARY are required for S!X.  "Locale"
  342.        is required due to the sexpress.cd/sexpress.ct/sexpress catalogue
  343.        system to have multiple language support.  FIFO.LIBRARY is used
  344.        now with "Doors" and other parts of S!X to make using of all its
  345.        features in "pipings": EXAMPLE  "Doors"  "FCheck"
  346.  
  347. 3. CHAPTER 3    S!X Installation or Conversion from /X Versions
  348.    ============================================================
  349.  
  350. *************************************************************
  351. CHAPTER 3    S!X Installation or Conversion from /X Versions
  352. *************************************************************
  353. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  354.  
  355.    S!X "NEW INSTALLATION" or conversion from an Ami-Express
  356.    version are all handled via S!X Modular Install Packages.
  357.  
  358.  
  359.    Therefore I will not discuss how to physically install of update S!X
  360.    files to your system , but refer you to these S!X Modular Installation
  361.    Packages documents which contain a detailed explanation.
  362.    complete documentation.
  363.  
  364.    Once the physical files are installed or updated, you will need to
  365.    make or update the following to your S:Startup-Sequence or 
  366.    S:user-startup
  367.        ---S:Startup-Sequence "Additions"---     
  368.                                                                                
  369.         ASSIGN BBS: <Path>:BBS
  370.         ASSIGN DOORS: <Path>:Doors                                                    
  371.         PATH BBS: BBS:MYUTILS BBS:UTILS ADD                                                     
  372.         RUN >NIL: ACP                                           
  373.                                                                                
  374.         ---END "Additions"---     
  375.                                                                                
  376.    Once all of this is complete you should be able to reset your system.
  377.                                                                                
  378.  
  379. 4. CHAPTER 4    Configuring S!X via:  ACP.STARTUP
  380.    ==============================================
  381.  
  382. *************************************************************
  383. CHAPTER 4    Configuring S!X via:  ACP.STARTUP
  384. *************************************************************
  385.  
  386.    ACP.STARTUP is the most common controller for S!X entire setup, parameter
  387.    definitions, initialization, and operation.  It is critical to understand
  388.    the S:ACP.STARTUP variables; you can control almost every action of S!X
  389.    with your choices via ACP.STARTUP.
  390.  
  391.    Therefore we will go through a "VERY DETAILED EXPLANATION" of all the
  392.    ACP.STARTUP parameters, explaining what each is and does.
  393.   
  394.       (Experienced  S!X -or- /X SysOPS are advised to read this as)
  395.       (many new features or changes have evolved in this release..)
  396.       
  397.       ==================================================================
  398.       *****NOTE ME SPECIAL CAVEAT****
  399.       DO NOT!!!!....REPEAT NOT!!!!....put "comments" in your ACP.STARTUP
  400.                                       file without discussion with an
  401.                                       S!X Development Team Member !!!!!!
  402.       
  403.                                       THIS **WILL CAUSE** FAILURE!!!!!!!
  404.  
  405.       Filenotes or comments in this manual are for explanation purposes
  406.       and ***SHOULD NOT APPEAR*** in your ACP.STARTUP
  407.       ==================================================================
  408.  
  409.    1.  "SAMPLE" ACP.STARTUP   [SEE **CAVEAT** ABOVE RE: "comments"!!!]
  410.  
  411.        ;  S!X V0.39+ "DEMO RELEASE" acp.startup                   
  412.        ;                                                                 
  413.        ;  1.  ***NOTE ME***  Many of the ACP.STARTUP commands are 
  414.        ;      "sensitive" to the order in which they appear in the
  415.        ;      acp.startup sequence.  WE HAVE GROUPED THEM "AS    
  416.        ;      BEST AS POSSIBLE" so the setup is logical.         
  417.        ;
  418.        ;  2.  ***NOTE ME***  We have put ";" COMMENTS on many of  
  419.        ;      these entries as explanation.  ****CAVEAT*** Some  
  420.        ;      commands will fail with comments on the same   
  421.        ;      line as the command (even if ";" is exactly at     
  422.        ;      end of the <CMD STRING>.  WE HOPE TO "FIX" THIS    
  423.        ;      INCONVENIENCE IN FUTURE REVISIONS....but due to
  424.        ;      the way all the "/X" and "S!X" read acp.startup
  425.        ;      you should not use COMMENTS without technical help.
  426.        ;
  427.        ;
  428.        ;      "INITIAL ACP STARTUP STRINGS TO GET THINGS GOING"
  429.  
  430.        ACP_PRIORITY                12      ;TaskPRI to run ACP Controller
  431.        ITOP                        557     ;TOP EDGE (pixel)  ACP Controller
  432.        ILEFT                       0       ;LEFT EDGE (pixel) ACP Controller
  433.        NUMBER_OF_NODES             2       ;#  active NODE(S) you're running
  434.        NODE* LEFTEDGE              0       ;Node(x) LEFT EDGE SCREEN (pixel)
  435.        NODE* TOPEDGE               0       ;Node(x) TOP EDGE SCREEN (pixel)
  436.        NODE* WIDTH                 724     ;NODE(x) WIDTH (FOR: HIres PAL)
  437.        NODE* HEIGHT                565     ;NODE(x) HEIGTH (FOR: HIres PAL)  
  438.        NODE* BITPLANES             3       ;1=2color 2=4color 3=8color 4=16color 
  439.        ;NODE* ACTIVATE_WINDOW              ;ON=Start "Active"  OFF="Iconified"  
  440.        ;NODE0 IDLENODE                     ;ON= NODE(0) idle at ACP start
  441.        ;NODE1 IDLENODE                     ;ON= NODE(1) idle at ACP start
  442.        STARTNODE0 BBS:utils/express >NIL: 0;Start BBS NODE(0) running
  443.        STARTNODE1 BBS:utils/express >NIL: 1;Start BBS NODE(1) running
  444.        ;NODE3 TRAPDOOR                     ;Node() started via TrapDoor program 
  445.        ;LOADCONFIG                         ;Use CONFIG and Config(x) loading
  446.  
  447.        ;PUBLICSCREEN               AEBench ;Specify (Screen) for S!X...DO NOT
  448.        ;                                   ;use w/ running CustomSCREEN PAL on
  449.        ;                                   ;NTSC w/ Amiga2PAL, etcitera.
  450.        ;NODE* INTERLACE                    ;***CAUTION*** This is probably
  451.        ;                                   ;already set by your PREFS: or
  452.        ;                                   ;other Custom "Startup" commands.
  453.        ;
  454.        ;      "BASIC DEFINITIONS OF DIR(x) and FILE LOCATIONS IN BBS:"
  455.        ; 
  456.        NODE* BBS_LOCATION          BBS:           ;This should be "ASSIGNED"
  457.                                                   ;in your 'startups' such
  458.                                                   ;as ASSIGN BBS: DH0:BBS
  459.        NODE* USERDATA_LOCATION     BBS:User.Data  ;USE THIS...or most "Doors"
  460.                                                   ;and utils **WILL FAIL**!
  461.        NODE* USERKEY_LOCATION      BBS:User.Keys  ;Location of USER.KEYS
  462.                                                   ;(see caution as USER.DATA)
  463.        ;NODE* NEW_USER_PASSWORD    NewPass        ;"New" Applicants can't
  464.                                                   ;logon without PASSWORD
  465.                                                   ;which here is: "NewPass"
  466.        NODE* SYSTEM_PASSWORD       YES            ;Requires PASSWORD to
  467.                                                   ;enter. (See PRIVATE.TXT)
  468.        NODE* BBS_NAME              [[44;33mDoc's House, S!X Development Team[[0m
  469.        NODE* SYSOP_NAME            Doc            ;**MUST BE SLOT(1) NAME**
  470.        NODE* GEOGRAPHIC_LOCATION   Doc's House...S!X Development & Support
  471.        ;NODE* SHUTDOWN_BATCH       S:BBSshutdown  ;Execute on Node(x) "SHUTDOWN
  472.        NODE* LOGOFFBATCH           S:upscript     ;Executed on each LOGOFF                                   
  473.        ;NODE0 PLAYPEN              hd1:playpen    ;***NOTE ME*** Put here to
  474.                                                   ;remind that PLAYPEN can
  475.                                                   ;now be anywhere!!
  476.        NODE0 PLAYPEN               bbs:node0/playpen
  477.        NODE1 PLAYPEN               bbs:node1/playpen
  478.        NODE0 RINGCOUNTS 1                         ;***MUST BE SPECIFIED***
  479.        ;NODE1 RINGCOUNTS 0                        ;for all 'phone lines'.
  480.                                                   ;Does not apply to your
  481.                                                   ;'Local Node()'.                                                                 
  482.        ;NODE* LOCAL_UL_PATH        dh2:myprojects ;"Local" F1 UPLOAD path
  483.        ;NODE* ICONIFY                             ;**NOTE** This must be LAST
  484.        ;                                          ;ENTRY in "Window Specs" to
  485.        ;                                          ;start both ACP/NODE(s) in 
  486.        ;                                          ;an "Iconified" state.
  487.        ;
  488.        ;      "BASIC =Initialization= COMMANDS TO YOUR MODEM"
  489.        ;
  490.        ;NODE0                      A2232_PATCH    ;Patch if you own A2232!
  491.        NODE0 UNIT                  0              ;(See your telecom manual!)
  492.        NODE0 DEVICE_DRIVER         serial.device  ;You *CAN* use others such
  493.        ;                                          ;as baudbandit.device
  494.        ;NODE0 MODEM_OFFHOOK        ATM0H1         ;"Busy" line NODE is off!
  495.        NODE0 MODEM_INIT            ATB0E0F1M1Q0V1X6S0=0S2=255S7=40S12=255&G2
  496.        ;                                          ;***ABOVE WILL VARY***...
  497.        ;                                          ;check your MODEM MANUAL!!
  498.        NODE0 TASK_PRIORITY         12             ;TaskPRI to run NODE(0)
  499.        NODE0 INIT_BAUD             38400          ;Node(0) start BaudRate
  500.        NODE0 SERIAL_BUFFER_SIZE    4096           ;Node(0) StackSize
  501.        NODE0 MODEM_RESET           ATH0           ;Modem RESET string
  502.        NODE0 MODEM_RING            RING           ;"Ring" 
  503.        NODE0 MODEM_ANSWER          ATA            ;"Answer" command
  504.        NODE1 UNIT                  1              ;
  505.        ;NODE1 DEVICE_DRIVER                       ;**NOTE** "Local" nodes 
  506.        ;NODE1 MODEM_OFFHOOK                       ;do not need to specify
  507.        ;NODE1 MODEM_INIT                          ;these parameters.
  508.        NODE1 TASK_PRIORITY         3              ;"Local" Node(1) TaskPRI
  509.        NODE1 INIT_BAUD             76800          ;
  510.        ;NODE1 SERIAL_BUFFER_SIZE                  ;N/A...not using SER:
  511.        ;NODE* MODEM_HARDFLUSH                     ;Used w/ some modems...check!
  512.        ;NODE* TRUE_RESET                          ;Resets with DTR hangup and
  513.        ;                                          ;later MODEM_INIT initized
  514.        ;                                          ;This takes a little time!!
  515.        NODE0 CONNECT_300           CONNECT        ;"Connect" strings"
  516.        NODE0 CONNECT_1200          CONNECT 1200   ;"Connect" 1200 baud string
  517.        NODE0 CONNECT_2400          CONNECT 2400   ;
  518.        NODE0 CONNECT_4800          CONNECT 4800   ;
  519.        NODE0 CONNECT_9600          CONNECT 9600   ;
  520.        NODE0 CONNECT_14400         CONNECT 14400  ;
  521.        NODE0 CONNECT_16800         CONNECT 16800  ;
  522.        NODE0 CONNECT_19200         CONNECT 19200  ;
  523.  
  524.        ;      "DESCRIBE AND DEFINE OUR SYSTEM'S 'Conferences'"
  525.  
  526.        NODE* CONF_NAME             01-NEWapps          
  527.        NODE* CONF_LOCAL            01-BBS:NEWapps/     
  528.        NODE* CONF_NAME             02-AmiDOCS          
  529.        NODE* CONF_LOCAL            02-BBS:AmiDOCS/     
  530.        NODE* CONF_NAME             03-AmiUTILS         
  531.        NODE* CONF_LOCAL            03-BBS:AmiUTILS/    
  532.        NODE* CONF_NAME             04-AmiGRAPHICS      
  533.        NODE* CONF_LOCAL            04-BBS:AmiGRAPHICS/ 
  534.        NODE* CONF_NAME             05-AmiMUSIC         
  535.        NODE* CONF_LOCAL            05-BBS:AmiMUSIC/    
  536.        NODE* CONF_NAME             06-AmiBUSINESS      
  537.        NODE* CONF_LOCAL            06-BBS:AmiBUSINESS/ 
  538.        NODE* CONF_NAME             07-AmiEMULATORS     
  539.        NODE* CONF_LOCAL            07-BBS:AmiEMULATORS/
  540.        NODE* CONF_NAME             08-AmiAGA_EGS       
  541.        NODE* CONF_LOCAL            08-BBS:AmiAGA_EGS/  
  542.        NODE* CONF_NAME             09-AmiTELECOM       
  543.        NODE* CONF_LOCAL            09-BBS:AmiTELECOM/  
  544.        NODE* CONF_NAME             10-AmiVIP           
  545.        NODE* CONF_LOCAL            10-BBS:AmiVIP/      
  546.        NODE* CONF_NAME             11-Program_ASM      
  547.        NODE* CONF_LOCAL            11-BBS:Program_ASM/ 
  548.        NODE* CONF_NAME             12-Program_C        
  549.        NODE* CONF_LOCAL            12-BBS:Program_C/   
  550.        NODE* CONF_NAME             13-Program_E        
  551.        NODE* CONF_LOCAL            13-BBS:Program_E/   
  552.        NODE* CONF_NAME             14-ibmDOS           
  553.        NODE* CONF_LOCAL            14-BBS:ibmDOS/      
  554.        NODE* CONF_NAME             15-ibmWINDOWS       
  555.        NODE* CONF_LOCAL            15-BBS:ibmWINDOWS/  
  556.        NODE* CONF_NAME             16-ibmVIP           
  557.        NODE* CONF_LOCAL            16-BBS:ibmVIP/      
  558.        NODE* CONF_NAME             17-Mac              
  559.        NODE* CONF_LOCAL            17-BBS:Mac/         
  560.        NODE* CONF_NAME             18-MacVIP           
  561.        NODE* CONF_LOCAL            18-BBS:MacVIP/      
  562.        NODE* CONF_NAME             19-FOR_SALE         
  563.        NODE* CONF_LOCAL            19-BBS:FOR_SALE/    
  564.        NODE* CONF_NAME             20-InterNET         
  565.        NODE* CONF_LOCAL            20-BBS:InterNET/    
  566.        NODE* TOTAL_CONFERENCES     20
  567.  
  568.  
  569.        ;     "DEFINE 'User Accesses' TO USE CERTAIN S!X FEATURES"
  570.  
  571.        NODE* EALL_LEVEL            200     ;LEVEL to write "EALL" messages
  572.        NODE* QUIET_NODE            200     ;QUIETS Node & Hides User from WHO
  573.        NODE* WHO_FILENAMES         200     ;Level to see U/Ds from S!X WHO
  574.        NODE* ACCOUNT_EDITING       255     ;Account Editing
  575.        NODE* BULLETINS             3       ;READ BULLETINS
  576.        NODE* COMMENT_TO_SYSOP      3       ;use "C" command to write to SYSOP
  577.        NODE* DOWNLOAD              10      ;D/L files from S!X FileDir(s)
  578.        NODE* ENTER_MESSAGE         10      ;WRITE Messages to other MEMBERS
  579.        NODE* FILE_LISTINGS         3       ;"View" Dir(x) Listings
  580.        NODE* JOIN_CONFERENCE       10      ;"Change" to a new CONFERENCE
  581.        NODE* NEW_FILES_SINCE       10      ;use see NewFiles Since Last Call
  582.        NODE* PAGE_SYSOP            30      ;PAGE SYSOP
  583.        NODE* READ_MSG              3       ;READ Messages (except PRIVATE MAIL)
  584.        NODE* REMOTE_SHELL          255     ;use Remote AmigaDOS SHELL
  585.        NODE* DISPLAY_USER_STATS    3       ;see your User STATS
  586.        NODE* UPLOAD                3       ;UPLOAD Files to BBS
  587.        NODE* VIEW_A_FILE           3       ;VIEW a file ONLINE
  588.        NODE* EDIT_USER_INFO        10      ;use "W" command to EDIT your info
  589.        NODE* EDIT_USER_NAME        255     ;use "W" command to CHANGE YOUR NAME
  590.        NODE* EDIT_USER_LOCATION    255     ;use "W" command to CHANGE LOCATION
  591.        NODE* EDIT_PHONE_NUMBER     255     ;use "W" command to CHANGE PHONE #
  592.        NODE* EDIT_PASSWORD         10      ;use "W" command to CHANGE PASSWORD
  593.        NODE* ZIPPY_TEXT_SEARCH     10      ;Search Dir(x) for file by <string>
  594.        NODE* OVERRIDE_CHAT         100     ;PAGE SYSOP when CHAT is OFF!!
  595.        NODE* CHAT_COLOR_SYSOP      33      ;Color SYSOP is in CHAT (Color ON)
  596.        NODE* CHAT_COLOR_USER       35      ;YOUR Color in CHAT (Color ON)
  597.        NODE* START_0300_TIME       0       ;Start Time 300 callers=MIDNIGHT
  598.        NODE* END_0300_TIME         0       ;**IF START=END** NO CALLERS!!
  599.        NODE* START_1200_TIME       0       ;Start Time 1200
  600.        NODE* END_1200_TIME         0       ;**NO 1200** because START=END
  601.        NODE* START_2400_TIME       0       ;Start 0 = Midnight
  602.        NODE* END_2400_TIME         2359    ;End 2400 = 11:59PM   2400 ALWAYS!!
  603.        NODE* START_9600_TIME       0       ;***NOTE*** 0=2359 means ANYTIME!!
  604.        NODE* END_9600_TIME         2359    ;or ALWAYS ACCEPTED (Militart Time)
  605.        NODE* START_14400_TIME      0       ;HST or HSpeed Start
  606.        NODE* END_14400_TIME        2359    ;HST or HSeeed Stop
  607.        NODE* START_16800_TIME      0       ;""Same""
  608.        NODE* END_16800_TIME        2359    ;""Same""
  609.        NODE* START_19200_TIME      0       ;HST or HSpeed Start
  610.        NODE* END_19200_TIME        2359    ;HST or HSpeed Stop   ALWAYS!!
  611.        NODE* OVERRIDE_TIMES        100     ;OverRides Start-End Time w/ ACCESS LEVEL
  612.        NODE* SYSOP_READ            200     ;To read **ALL MESSAGES (even PRIVATE)
  613.        NODE* KEEP_UPLOAD_CREDIT    2       ;Credit USER for U/L + Extra Time ALL DAY
  614.        ;
  615.        ;     "PRESETS" TO DEFINE 'Members' ACCESS LEVESL VIA ACCOUNT EDITOR"
  616.        ;
  617.  
  618. <ERRATA>  Almost "Bet" this doesn't work by allowing you to put the extra
  619. <ERRATA>  fields direct into ACP.STARTUP.....but would be must easier/cleaner
  620. <ERRATA>  way of handling this damn mess!!!
  621.  
  622. <ERRATA>  **VERIFIED!!!*** ACP and ACP.STARTUP can't read anything past the
  623. <ERRATA>  (9) conferences.  Ouch....the Areanames/xxx___x_ files are a very
  624. <ERRATA>  ugly way to do it and leads to massive "LOGIC ERRORS".
  625.  
  626.  
  627.        NODE* PRESET_ACCESS_LVL     01-20                   
  628.        NODE* PRESET_RATIO_TYPE     01-0                    
  629.        NODE* PRESET_RATIO          01-3                    
  630.        NODE* PRESET_DAILY_BYTES    01-20000000             
  631.        NODE* PRESET_CONF_ACCESS    01-XXX______ 
  632. ;      NODE* PRESET_CONF_ACCESS    01-NEWUSERS      
  633.        NODE* PRESET_TIME_LIMIT     01-2700                 
  634.                                                     
  635.        NODE* PRESET_ACCESS_LVL     02-5                    
  636.        NODE* PRESET_RATIO_TYPE     02-0                    
  637.        NODE* PRESET_RATIO          02-1                    
  638.        NODE* PRESET_DAILY_BYTES    02-10000000             
  639.        NODE* PRESET_CONF_ACCESS    02-X________ 
  640. ;      NODE* PRESET_CONF_ACCESS    02-BADBOYS      
  641.        NODE* PRESET_TIME_LIMIT     02-1800                 
  642.                                                     
  643.        NODE* PRESET_ACCESS_LVL     03-30                   
  644.        NODE* PRESET_RATIO_TYPE     03-0                    
  645.        NODE* PRESET_RATIO          03-5                    
  646.        NODE* PRESET_DAILY_BYTES    03-30000000             
  647.        NODE* PRESET_CONF_ACCESS    03-XXXXX____
  648. ;      NODE* PRESET_CONF_ACCESS    03-NORMAL
  649.        NODE* PRESET_TIME_LIMIT     03-3600                 
  650.                                                     
  651.        NODE* PRESET_ACCESS_LVL     04-100                  
  652.        NODE* PRESET_RATIO_TYPE     04-0                    
  653.        NODE* PRESET_RATIO          04-5                    
  654.        NODE* PRESET_DAILY_BYTES    04-99000000             
  655.        NODE* PRESET_CONF_ACCESS    04-XXXXX_X_X
  656. ;      NODE* PRESET_CONF_ACCESS    04-TOPGUNS
  657.        NODE* PRESET_TIME_LIMIT     04-5400                 
  658.                                                     
  659.        NODE* PRESET_ACCESS_LVL     05-200                  
  660.        NODE* PRESET_RATIO_TYPE     05-0                    
  661.        NODE* PRESET_RATIO          05-5                    
  662.        NODE* PRESET_DAILY_BYTES    05-99999999             
  663.        NODE* PRESET_CONF_ACCESS    05-XXXXXXX_X
  664. ;      NODE* PRESET_CONF_ACCESS    05-COSYSOPS
  665.        NODE* PRESET_TIME_LIMIT     05-99999                
  666.                                                     
  667.        NODE* PRESET_ACCESS_LVL     06-255                  
  668.        NODE* PRESET_RATIO_TYPE     06-0                    
  669.        NODE* PRESET_RATIO          06-5                    
  670.        NODE* PRESET_DAILY_BYTES    06-99999999             
  671.        NODE* PRESET_CONF_ACCESS    06-XXXXXXXXX
  672. ;      NODE* PRESET_CONF_ACCESS    06-S!X
  673.        NODE* PRESET_TIME_LIMIT     06-99999
  674.  
  675.        ;
  676.        ;     "TOGGLE SWITCHES" TO CHANGE S!X OPERATIONS
  677.        ;
  678.        ;NODE* RELATIVE_CONFERENCES         ;Make Conf(s) "Relative"
  679.        NODE* SENTBY_FILES                  ;Write SENT BY: <user> in Dir(x)s
  680.        NODE* DEFAULT_CHAT_ON               ;"Chat" (PAGE SYSOP) ON as DEFAULT
  681.        NODE* BREAK_CHAT                    ;CTRL-C breaks out of "Chat" mode
  682.        NODE* CLEAR_SCREEN_MSG              ;Does ClearScreen between Messages
  683.        NODE* ALLOW_FREE_RESUMING           ;Allow resuming "INCOMPLETE" U/Ds
  684.        NODE0 DO_CALLERSLOG                 ;Write "Callerslog" ONLY NODE(0)
  685.        NODE0 DO_U/D_LOG                    ;Write "UDlog" ONLY for NODE(0)
  686.        NODE* STARTLOG                      ;S!X "Initialization" log report
  687.        NODE* DOORLOG                       ;S!X "Door" activity log report
  688.        NODE* SCREEN_TO_FRONT               ;Screen to Front on USER Logon
  689.        NODE* STATBAR                       ;ON=Use StatusBar on  Node(x)
  690.        NODE* DIR_IN_KBYTE                  ;Display in "KBytes" not "Exact"               
  691.        ;NODE0 NO_TIMEOUT                   ;ON=Disables Auto-Logoff TIMEOUTS
  692.        NODE1 NO_TIMEOUT                    ;"Local" set ON; "Phone" set OFF
  693.        NODE* SUPPRESS_QLOGON               ;ON=Disable bypass Logon Screens
  694.        NODE* STEALTH_MODE                  ;ON=Ask PW before any displays
  695.        NODE* QUIETNODE                     ;Activate "WHO" blocking capacity
  696.        ;NODE* CAPITOLS_IN_FILE             ;ON=USE CAPITAL LETTERS in dir(x)
  697.        ;NODE* NO_MCI_MESSAGE               ;ON=Disables all ~MCI Commands
  698.        ;NODE* NO_WILDCARDS                 ;Turns off (*) WildCard Downloading
  699.        ;NODE* CONFERENCE_ACCOUNTING        ;NEW V0.39m4
  700.        ;NODE* CENTRAL_HOLD                 ;NEW V0.39m4 All holds to one DIR?
  701.        ;
  702.        ;     "BUTTONS-n-NUTTONS"  ACP COMMANDS YOU CAN SET YOURSELF"
  703.        ;                          ;NUTTONS require NODE selection
  704.        ;                          ;COL24 MUST BE "|" or else your FAIL!!!
  705.        ;
  706.        ;
  707.        ;BUTTON01: AXVal       |run >con:0/0/640/100//CLOSE axval <* BBS: 2 WAIT
  708.        ;BUTTON02: SalvUser    |run >con:0/0/640/100//CLOSE salvuser <* ACP
  709.        ;BUTTON03: AERegCards  |runback dh1:amigadex/amigadex s:AEREG.CARDS
  710.        ;BUTTON04: LaDraw      |runback dh1:ansi/ladraw.101
  711.        ;BUTTON05: UserEdit    |run >NIL: bbs:utils/UserEditor
  712.        ;NUTTON01: Utility     |runback dh1:ansi/ladraw.101
  713.  
  714.        ;     "KEEPA-YA-PAW-OFF"  FILES I WON'T LET YOU D/L OR VIEW"
  715.        ;
  716.        RESTRICT             S:ACP.STARTUP        ;***RESTRICT*** Prohibits a
  717.        RESTRICT             BBS:user.data        ;user frp, D/Ling any of
  718.        RESTRICT             BBS:user.keys        ;the listed files NO MATTER
  719.        RESTRICT             BBS:NODE0/UDLOG      ;his ACCESS LEVEL.  This
  720.        RESTRICT             BBS:Commands/BBS.CMD ;command was added for 
  721.        RESTRICT             BBS:Commands/SYS.CMD ;"SECURITY REASONS" against
  722.        RESTRICT             S:bbs.startup        ;would-be 'hackers'
  723.        RESTRICT             S:user-startup       
  724.        RESTRICT             S:user-startup2      
  725.        RESTRICT             S:startup-sequence   
  726.        RESTRICT             BBS:config0          
  727.        RESTRICT             BBS:config1          
  728. ;                                                
  729. ;
  730. ;            =========END OF SAMPLE ACP.STARTUP===========
  731. ;
  732.  
  733.    4.  "Explanation" of ACP.STARTUP
  734.  
  735.        Obviously ACP.STARTUP is a rather complex creature to setup from
  736.        scratch.  This is why we go into such detailed explanation, and
  737.        why all S!X Modular Install Packages will contain a generic setup
  738.        which should work (with minor modifications) for most SysOPS.
  739.  
  740.        Nevertheless, let me explain in detail how to set up ACP.STARTUP
  741.        "from scratch", so that as you gain experience you can alter yours
  742.        easily to change, update, or modify your system's operations.
  743.  
  744.        1.  NODE*  vs  NODE0   -  "*" is the familiar WILDCARD (*) and means
  745.                                  ALL NODES.  If you want to do different
  746.                                  things on each node (Look at example again)
  747.                                  then you must give specific commands to
  748.                                  each of your NODE(s) what they are to do.
  749.  
  750.        2.  **ALL COMMANDS**   -  must begin on COL(1) or you must use
  751.                                  the ";" to DISABLE.  Notice I chose to
  752.                                  say DISABLE  vs  "Comment Out"....this
  753.                                  is to remind you about the ***CAVEAT***
  754.                                  for inserting comments anywhere in the
  755.                                  ACP.STARTUP.  However the ";" in COL(1)
  756.                                  is not considered a "comment"; rather we
  757.                                  consider it a "Disable Feature".
  758.  
  759.            a. "Variable Value Commands"
  760.  
  761.                ie: NODE* LEFTEDGE 0
  762.                    ^   ^ ^        ^
  763.                    |   | |        ----- assign "value" 0 to LEFTEDGE
  764.                    |   | ---------------variable "labelname"=LEFTEDGE
  765.                    |   -----------------*ALL** nodes
  766.                    -------------------- NODE command
  767.                                                                        
  768.               1.  **ALL** "Node" commands may be placed anywhere in the text
  769.                                  file after NUMBER_OF_NODES specification.
  770.  
  771. 5. CHAPTER 5    Detailed Explanation of Each ACP.STARTUP Parameter
  772.    ===============================================================
  773.                                  
  774. ***************************************************************
  775. CHAPTER 5    Detailed Explanation of Each ACP.STARTUP Parameter
  776. ***************************************************************
  777.  
  778.    Please refer to CHAPTER 4, sample ACP.STARTUP.  The explanations given
  779.    are in the same sequence as appears in the example.
  780.  
  781.    1.  For those wishing to use the GUI CONFIG(x) initialization system,
  782.        CHAPTER 5 explanations of the parameters are identical as to 
  783.        each's function.  Refer to CHAPTER 6 for setup. 
  784.  
  785.    
  786.            *******************************************************
  787.            ACP.STARTUP PARAMETERS "Individual Command Explanation"
  788.            *******************************************************
  789.  
  790.            ----------------------------------------------------------------- 
  791.            ACP_PRIORITY x 
  792.                Sets the Taskpriority of ACP.CTRL to 'x'
  793.            -----------------------------------------------------------------
  794.            ITOP   23
  795.            ILEFT 220
  796.                Sets the Window to the specified Coordinates.
  797.            -----------------------------------------------------------------
  798.            NUMBER_OF_NODES 3
  799.                Tells ACP how many nodes you are running?
  800.                    **NOTE**: 'NODE' commands must not be used before
  801.                               specifiing this parameter.  Otherwise
  802.                               you are talking about "Node(s) and ACP
  803.                               has no idea what you are saying as you
  804.                               have not informed it "How Many of Them".
  805.            -----------------------------------------------------------------
  806.            NODE* LEFTEDGE 0   Speficies Node(x) left position of S!X window.
  807.            NODE* TOPEDGE  0   Specifies top position of the S!X window. 
  808.            NODE* WIDTH    640 Specifies the width of the S!X window.
  809.            NODE* HEIGHT   200 Specifies the length of the S!X window.
  810.            NODE* BITPLANES  3 Specifies the number of bitplanes you wish.
  811.                               Values can range from 0 to 4.  This tells S!X
  812.                               how many colors are allowed for this Node(x).
  813.                                  BITPLANE 0 = Use WorkBench Screen and colors
  814.                                               associated with it.
  815.                                               1 = 2 colors
  816.                                               2 = 4 colors
  817.                                               3 = 8 colors
  818.                                               4 = 16 colors
  819.                You can give "different values" to several nodes, providing
  820.                your system has such capabilities.  I ofter run my "Local"
  821.                in 724 x 565 HiResPAL, but use 640 x 256 for "Phone" node
  822.                on a A2000 NTSC Video II VGA Card machine.  Some swear that
  823.                BITPLANE 1 makes file transfers faster with some terminals.
  824.            -----------------------------------------------------------------
  825.                NODE* ACTIVATE_WINDOW
  826.                   If this command is given, the specified node will
  827.                   be started directly with a opened window.
  828.            -----------------------------------------------------------------
  829.            NODE* IDLENODE
  830.                This command tells ACP not to load the specified  node.
  831.            -----------------------------------------------------------------
  832.            NODE* ICONIFY
  833.                If Set, the BBS will start all nodes Iconfied.  **NOTE**
  834.                This must be the LAST COMMAND in the sequence of all
  835.                "Window Specifications" for your Node(s) and ACP if you
  836.                wish BOTH to start in the "Iconified State
  837.            -----------------------------------------------------------------
  838.            STARTNODE0: bbs:express [>NIL:] 0
  839.            STARTNODE1: bbs:express 1
  840.            STARTNODE2: bbs:express 2
  841.                These commands specify which nodes should be started.  *NOTE*
  842.                that most should use the "Optional" >NIL: in the command due
  843.                to S!X normally from "startup(s)" on each WARM/COLD boot.
  844.  
  845.                Startnode(x) command replaces several scripts which were
  846.                required with former /X and S!X versions.
  847.            -----------------------------------------------------------------
  848.            NODE1 TRAPDOOR
  849.                This is a **SPECIAL STARTUP COMMAND** requiring the external
  850.                TrapDoor software.  The command tells ACP to use TrapDoor
  851.                to start each Node() in question.
  852.  
  853.                If ths option is used TrapDoor must start S!X with the
  854.                following command values:
  855.                         S!X <node-number> <baudrate>
  856.            -----------------------------------------------------------------
  857.            LOADCONFIG
  858.                ***OLD ALTERNATE WAY OF STARTING BBS**  This is the former
  859.                /X and S!X way of loading almost 90%+ of the data now 
  860.                contained within ACP.STARTUP.
  861.  
  862.                1.  CONFIG was an "Executable" that generated Config(#)
  863.                    binary-coded files for each Node(#).  It used a very
  864.                    "user-friendly GUI interface; each Config(x) was 1972
  865.                    bytes.
  866.                2.  ****STILL WORKS****  You can still use CONFIG and
  867.                    CONFIG(x).  As a matter of fact a great number of
  868.                    "Doors" and S!X Utils still get their information 
  869.                    from Config(x) files.......therefore you should
  870.                    retain CONFIG and CONFIG(x) binaries and update them
  871.                    often.
  872.                    ***CAVEAT*** You must be 100% certain the information
  873.                    in your ACP.STARTUP is correct to your Config(x) files,
  874.                    in order to start either way or be certain that "Doors"
  875.                    will run correctly.
  876.                3.  A further explanation of CONFIG and CONFIG(X) can be
  877.                    found in CHAPTER 6.
  878.            -----------------------------------------------------------------
  879.            PUBLICSCREEN AEBench
  880.                This lets you specify "PublicScreen" for ACP to run on.  If
  881.                the screen is not found, it will be created.  If this option
  882.                is not used, ACP will use "WorkBench" screen.
  883.                   ***CAVEAT**  Above is not 100% true.  If you run special
  884.                   programs (NTSC2PAL), a "Video Card", or DOS3.0+, there are
  885.                   several new graphic promotion modes.  Check you DOS manual
  886.                   regarding PUBLIC, CUSTOM, "SHANGHAI" if confused on this.
  887.            -----------------------------------------------------------------
  888.            NODE* INTERLACE
  889.                ***CAUTION***  This is probably already specified in your
  890.                PREFS:, "Startups", or other CustomCommands on your system,
  891.                especially DOS3.0+ with PUBLIC/CUSTOM/SHANGHAI.
  892.  
  893.                The command tells ACP to start the Node(x) in INTERLACE if
  894.                specified, but must be compatable with your machine's
  895.                screen capabilities.
  896.            -----------------------------------------------------------------
  897.            NODE* BBS_LOCATION <Path>
  898.                You ***MUST ASSIGN*** BBS: somewhere during your "startups"
  899.                before attempting to load ACP.  Otherwise all "Doors" and
  900.                other commands looking for BBS: will fail........
  901.                This entry just tells ACP to go find that ASSIGN and use
  902.                it, i.e.  ASSIGN BBS: DH0:BBS would be in your "startups".     
  903.            -----------------------------------------------------------------
  904.            NODE* USERDATA_LOCATION BBS:User.Data                                        
  905.            NODE* USERKEY_LOCATION BBS:User.Keys
  906.                These ***SHOULD*** be in the ROOT DIR of BBS:  Although
  907.                you can put them elsewhere, almost all "Doors" and other
  908.                utils WILL FAIL, as common practice has defined their
  909.                location to here since Mike Thomas's V0.9 releases.
  910.  
  911.                "Hackers" can try to get your DATA or CHANGE IT.  This
  912.                is why RESTRICT, ACCESS LEVELS, and LOGOFF BATCHES were
  913.                added to S!X to make "backups" in case of such an attack.
  914.            ---------------------------------------------------------------
  915.            NODE* TEXT_PATH <PATH>
  916.                You ****MUST*** specify this entry.  It is possible to
  917.                move your BBSTexts to some other <path>, such as RAM:,
  918.                for increased speed.  In this case it would look for
  919.                RAM:BBSTexts/logon.txt for your logon.txt
  920.                
  921.                1.  <PATH> assumes you are using a different DEVICE:
  922.                           instead of the normal BBS: (which is almost
  923.                           always itself and assign) such as the normal
  924.                           ASSIGN BBS: DH0:BBS
  925.                        
  926.                2.  DO NOT specify with this new command:
  927.                    
  928.                    Right---> NODE* TEXT_PATH RAM:
  929.                    Wrong---> NODE* TEXT_PATH RAM:BBSTexts   
  930.            --------------------------------------------------------------     
  931.            NODE* NEW_USER_PASSWORD  <NewPass>
  932.                Most SysOPS will probably ";" DISABLE this command.  If set
  933.                any "NewUser" must know this PASSWORD, or he will be unable
  934.                to logon to your system.  Unlike InterNET, S!X does not allow
  935.                for 'Anonymous' or 'Guest' connections, so consider whether
  936.                you want to block out all new callers.
  937.            -----------------------------------------------------------------
  938.            NODE* SYSTEM_PASSWORD  <Yes>
  939.                In this example, the actual PASSWORD="Yes" as a string.  With
  940.                any /X or S!X above V2.0 you have the ability for PRIVATE.TXT
  941.                which is normally a "Disclaimer Screen" to make sure people
  942.                know your rules and the SYSTEM PASSWORD is shown.....if they
  943.                don't agree by saying "Yes", they cannot logon your system.
  944.                
  945.                Used without PRIVATE.TXT or the PASSWORD being displayed,
  946.                this keeps your system PRIVATE to only those knowing the
  947.                PASSWORD gaining entry into the system.
  948.            -----------------------------------------------------------------
  949.            NODE* BBS_NAME Doc's House, S!X Development Team
  950.                This is a <string> of your system's name which will be
  951.                shown to callers upon logon.  It is also used by various
  952.                "Door" commands to get your system's name to add to files
  953.                or other functions.
  954.            -----------------------------------------------------------------
  955.            NODE* SYSOP_NAME Doc
  956.                This ***MUST BE*** the name as it appears in USER.DATA
  957.                SLOT(1)!!!  It is used extensively in screen displays,
  958.                "chat", "Doors", and SYSOP functions.
  959.            -----------------------------------------------------------------
  960.            NODE* GEOGRAPHIC_LOCATION Columbus,OH
  961.                This <string> tells callers where your system physically is
  962.                located, such as Miami, Frankfurt, London, or Hawaii.
  963.            -----------------------------------------------------------------
  964.            NODE* SHUTDOWN_BATCH S:CloseMeDown
  965.                This is a "Script" which will be executed should you shutdown
  966.                a NODE(x).  Its primary use is saving important data, doing
  967.                system/bulletin updates, and for safety in case of a "soft
  968.                system failure" before "Auto-Rebooting" your machine.
  969.                ("S" flags need not be set on scripts run from ACP.STARTUP)
  970.                This command is very similar to LOGOFFBATCH, so read that
  971.                for some special information (especially #2).
  972.            -----------------------------------------------------------------
  973.            NODE* LOGOFFBATCH S:upscript
  974.                This is one of the most commonly used S!X features.  Each
  975.                time a caller logs off, you can execute this script updating
  976.                bulletins, doing "backups" of critical data, testing files,
  977.                or running any commands which are executable via standard
  978.                Amiga "script" language.
  979.                1.  **NOTE** You do not have to set the "S" flag; S!X is
  980.                    intelligent and knows to execute this file.  However
  981.                    if you run S:upscript as some folks intermittently
  982.                    from a CLI/SHELL, either use the "execute" command
  983.                    or set the "S" flag.
  984.                2.  ***CAUTION*** There are some "hybird" CLI/SHELLS out
  985.                    there.  If your LOGOFFBATCH does not work, then set
  986.                    the "S" flag.
  987.            -----------------------------------------------------------------
  988.            NODE0 PLAYPEN    bbs:Node0/playpen
  989.            NODE1 PLAYPEN    VD0:playpen
  990.            NODE2 PLAYPEN    dh2:source/playpen
  991.                You'll note that newer versions of S!X can now use any
  992.                valid path for PLAYPEN; it does not have to be in the
  993.                BBS:Node(x)/PLAYPEN.  However you must "plan" your
  994.                path.  If you have a **LOT** of ram (I really suggest
  995.                "dynamic recoverable such as VD0: RAD:) then you can
  996.                save HD read/writes by doing U/L direct to RAM space.
  997.                Use this with caution; someone may make a large batch
  998.                upload of 5-10 megs and I guarentee you will have a
  999.                spectacular crash running out of memory.
  1000.            -----------------------------------------------------------------
  1001.            NODE* FilesNotAllowed BBS:FilesNotAllowed                                    
  1002.                This command prevents the uploading of certain files to your
  1003.                S!X BBS.  You create a standard ASCII text file containing
  1004.                the names of all files you wish to prevent from being
  1005.                UPLOADED.
  1006.                1.  You can use WILDCARDS, but **PLEASE TEST** as CLI/SHELLS
  1007.                    vary.  For safety use the old style "#?".  EXAMPLE
  1008.                         ----- Sample BBS:FilesNotAllowed -----         
  1009.                         #?.arc                                                 
  1010.                         #?.nfo                                               
  1011.                         #?.pak                                               
  1012.                         ----- cut here -----------------------------         
  1013.                         
  1014.                2.  The "UPLOADING" of any file with the above "extensions"
  1015.                    is not allowed.                                                     
  1016.                         Now the uploading of file with these extensions is   
  1017.                         not allowed. The BBS will skip the upload if it found
  1018.                         a file like the above.
  1019.  
  1020.            ----------------------------------------------------------------
  1021.            NODE* ICONIFY
  1022.                This command starts a NODE() in the iconified state where
  1023.                hitting the Node() on ACP will make the screen active.
  1024.                1.  ***SPECIAL TRICK***  If you have this as the LAST
  1025.                    COMMAND (it must be LAST) in your initial ACP and
  1026.                    BBS definitions (SEE THE EXAMPLE), then you can
  1027.                    start BOTH:  ACP and NODE(s) "iconified" which is
  1028.                    the way I like starting my system.
  1029.            -----------------------------------------------------------------
  1030.            NODE* A2232_PATCH
  1031.                This command will tells S!X that you own a A2232 MultiSerial
  1032.                Card.  If you do not, please do not choose this option.
  1033.                1.  This option will allow S!X to accept ASCII sends.
  1034.            -----------------------------------------------------------------
  1035.            NODE0 UNIT 0
  1036.            NODE1 UNIT 1
  1037.                This command will tell AmiExpress the Unit of the "device"
  1038.                which you are using on a specifid node.  **NOTE** that all
  1039.                nodes may not use SERIAL PORT, nor may they use the common
  1040.                serial.device.  So use the UNIT for whatever device you are
  1041.                using and read parameters:  DEVICE_DRIVER INIT_BAUD
  1042.            -----------------------------------------------------------------
  1043.            NODE0 DEVICE_DRIVER  serial.device
  1044.            NODE1 DEVICE_DRIVER
  1045.            NODE2 DEVICE_DRIVER  baudbanding.device
  1046.            NODE3 DEVICE_DRIVER  Gvpio.devices
  1047.                As you can see, many devices are used besides serial.device
  1048.                to your SERIAL PORT.  If you have an I/O card, you will likely
  1049.                want to use that device.
  1050.                1.  NOTE that Node(1) has no driver; in our example it is the
  1051.                    "Local" and therefore needs no driver.
  1052.            -----------------------------------------------------------------
  1053.            NODE0 MODEM_OFFHOOK ATM0H1
  1054.                This command allows you to specify which modem commands to
  1055.                send to make the modem go offhook.  Default is ATM0H1
  1056.                1.  This is "Unused" for your LOCAL NODE!!
  1057.            -----------------------------------------------------------------
  1058.            NODE8 MODEM_INIT ATE0X1S2=255S7=60S27=0S14=1
  1059.            NODE9 MODEM_INIT ATE0F1M0Q0V1X1S0=0S2=255S7=40S12=255
  1060.                This command let you choose you modem's settings when S!X is
  1061.                initialized.  These strings vary greatly depending on the
  1062.                MODEM and any special I/O cards or DEVICE you may use.
  1063.                1.  Check with your modem's manual for the best parameters.
  1064.                2.  If you have a high-speed modem PLUS any I/O card, you
  1065.                    must consider both MODEM and I/O abilities in choosing
  1066.                    the best initialization.  Call a S!X Support Site for
  1067.                    specific help if you can not resolve your problems.
  1068.            -----------------------------------------------------------------
  1069.            NODE0 TASK_PRIORITY 10
  1070.            NODE1 TASK_PRIORITY 3
  1071.                This Oprion lets you choose the Taskpriority by which each
  1072.                Node() will run.  There are several considerations, and I
  1073.                will merely outline the "General Rules":
  1074.                1.  Faster Machines- can generally use lower priorities due
  1075.                                     to faster operations and needing less
  1076.                                     CPU time
  1077.                2.  "Local Nodes"  - general have lower priorities than any
  1078.                                     "Phone" Node(s)
  1079.                3.  I/O  HD  CPU   - the faster your equipment or enhanced
  1080.                                     additions.....the lower you can set
  1081.                                     priorities and yet have MAX CPS RATES.
  1082.                ***NOTE*** You must set ACP at a higher priority than any
  1083.                           Node(x) you might be running (SEE: ACP_PRIORITY).
  1084.            -----------------------------------------------------------------
  1085.            NODE0 INIT_BAUD  38400
  1086.            NODE1 INIT_BAUD  76800
  1087.                This **IS NOT** baudrate between two modems!!!  It is the
  1088.                data rate between your MODEM and your COMPUTER.  It will
  1089.                vary:  1.  19200 is MAX for normal Amigas.
  1090.                       2.  38400 is MAX using the special BaudBandit.Device
  1091.                       3.  76800 is MAX you should use for a "Local" and
  1092.                           an A2000-3000 machine
  1093.                For other machines having I/O cards or special enhancements
  1094.                you can achieve much faster rates.
  1095.                    "Local" and therefore needs no driver.
  1096.            -----------------------------------------------------------------
  1097.            NODE0 SERIAL_BUFFER_SIZE 4096
  1098.                This is the "STACKsize" which this NODE() will use in 
  1099.                transferring data.  This parameter will vary between
  1100.                Amiga computers by MODEL, CPU/FPU SPEED, MODEM, and
  1101.                other parameters in achieving highest speed performance.
  1102.                1.  Please consult your modem manual, DOS Manual, and
  1103.                    a S!X Support Site for current "best known values"
  1104.                    we have for your particular configuration.
  1105.  
  1106.                Sorry....realize ***NOW*** that many things in computing
  1107.                         are still based on experience, especially with
  1108.                         such variations in HARDWARE, OS, and SOFTWARE.
  1109.            -----------------------------------------------------------------
  1110.            NODE0 MODEM_RESET   ATH0
  1111.            NODE2 MODEM_RESET   ATM0H0
  1112.                This command sets your modem reset command if a user logged
  1113.                off the system and the modem began to reset itself.
  1114.                1.  Some may prefer not using M0, as they like hearing their
  1115.                    modem work and knowing "Phone Lines" are working.
  1116.            -----------------------------------------------------------------
  1117.            NODE* MODEM_RING    RING
  1118.                Command indicates what <string> will be sent by the modem
  1119.                when a user calls your system.  RING will show to indicate
  1120.                an incoming call to S!X has been detected.
  1121.            -----------------------------------------------------------------
  1122.            NODE* MODEM_ANSWER  ATA?                                                      
  1123.                This <string> is "standard" on all modems.  It is the command
  1124.                that is executes when the modem detects RING.  It therefore
  1125.                causes the modem to be answered AUTOMATICALLY.
  1126.                1.  If your S!X does not answer...not having this parameter
  1127.                    passed correctly is usually a "common cause".                                                                   
  1128.            -----------------------------------------------------------------
  1129.            NODE* MODEM_HARDFLUSH
  1130.                This is a **SPECIAL** command, helping those who may have some
  1131.                problems with hanging up the modem correctly.
  1132.                1.  Using "HardFlush" causes S!X to drop DTR 2 times.
  1133.            -----------------------------------------------------------------
  1134.            NODE* TRUE_RESET
  1135.                This will reset the Modem with a TRUE DTR "Hangup.  Later it
  1136.                will be intialized the modem with MODEM_INIT.  Using this
  1137.                command will take several seconds in "Hangup/Reset" time.
  1138.            -----------------------------------------------------------------
  1139.            NODE* CONNECT_300   CONNECT
  1140.            NODE* CONNECT_1200  CONNECT 1200
  1141.            NODE* CONNECT_2400  CONNECT 2400
  1142.            NODE* CONNECT_4800  CONNECT 4800
  1143.            NODE* CONNECT_9600  CONNECT 9600
  1144.            NODE* CONNECT_14400 CONNECT 14400
  1145.            NODE* CONNECT_16800 CONNECT 16800
  1146.            NODE* CONNECT_19200 CONNECT 19200
  1147.                During connection sequence, the connect rate <string> is sent  
  1148.                to S!X,  You must specify these "Connect Strings> for each
  1149.                desired rate of connection.
  1150.                1.  You must be sure in MODEM_INIT that your modem can
  1151.                    "echo" or "return" these values to S!X.  Modern HSpeed
  1152.                    modems have other <strings> which S!X users, so check
  1153.                    that your modem can work at full capacity with S!X.
  1154.            -----------------------------------------------------------------
  1155.            NODE0 CONF_NAME 01-NewApps
  1156.            NODE0 CONF_NAME 02-Amiga
  1157.            NODE2 CONF_NAME 01-Demographics
  1158.            NODE2 CONF_NAME 02-SalesTrends
  1159.                This is what you have named CONF(1) on your system.  Whatever
  1160.                <string> appears after the "-" will be the name by which
  1161.                this conference is known to S!X
  1162.                1.  ***NOTE***  It is "practical" to run several, different
  1163.                    appearing S!X systems within one central S!X.  This
  1164.                    can be done by having different CONFERENCES for different
  1165.                    NODE(s).
  1166.                    a.  EXAMPLE:  ONE "phone line" could answer displaying
  1167.                                  an "AmigaBBS", whereas a SECOND "phone"
  1168.                                  might answer with completely different
  1169.                                  CONFERENCES.
  1170.                    b.  To do this practically, members need different "NAME"
  1171.                        on each NODE(x) and you must create different
  1172.                        MENUS, BULLETINS, TEXTS, ETC for each node.
  1173.                2.  I ***REALLY DO THIS***!!  I have one S!X node for a
  1174.                    normal BBS; the other node is completely different and
  1175.                    strictly for BUSINESS CLIENTS.....so they obviously 
  1176.                    look very different from each other.
  1177.            -----------------------------------------------------------------
  1178.            NODE0 CONF_LOCAL 01-NewApps/
  1179.            NODE0 CONF_LOCAL 02-Amiga/
  1180.            NODE2 CONF_LOCAL 01-BBS:Demograph/
  1181.            NODE2 CONF_LOCAL 02-BBS:Trends/
  1182.                This parameter works with "CONF_NAME", and specified a
  1183.                physical location (DIR or directory) for files to exist
  1184.                within that conference.  Within each conference are other
  1185.                Sub-Directories for MAIL, UPLOADS, and other functions.
  1186.            -----------------------------------------------------------------
  1187.            NODE* TOTAL_CONFERENCES 9
  1188.                TOTAL CONFERENCES ***MUST MATCH** the specifications you
  1189.                tell S!X in  CONF_NAMES  and CONF_LOCAL.  Failing to do
  1190.                so accurately, S!X either not display or use all your
  1191.                conferences, or become "paranoid" trying to find CONFERENCES
  1192.                which do not exist.
  1193.                1.  Recheck your entries carefully......this is a major error
  1194.                    source in configuration and operations, especially if you
  1195.                    run "Multi-Boards" as described in CONF_NAME.  
  1196.  
  1197.            -----------------------------------------------------------------
  1198.            NODE* EALL_LEVEL 200
  1199.                This parameter lets you choose the level at which a User can
  1200.                send a message to EALL (ALL) users.               
  1201.  
  1202.  
  1203.            -----------------------------------------------------------------
  1204.            NODE* QUIET_NODE 200  (V0.39i) 
  1205.                This recent addition to S!X allows members to use the "Q"
  1206.                command upon Logon, thereby "quieting" the Node(x).  It
  1207.                also will hide the member from having S!X's "Who" door
  1208.                detail their presence or activities on the S!X system.
  1209.            -----------------------------------------------------------------
  1210.            NODE* WHO FILENAMES 200 (V0.39i
  1211.                Lets you define a User Level where the Uploaded/Downloaded   
  1212.                Files are either shown or hidden in the WHO Command.         
  1213.                **NOTE**  Only with the "internal" S!X WHO Command at this
  1214.                          time.  A S!X Door Command for S!X Door Coders can
  1215.                          be used to incorporate this feature.
  1216.            -----------------------------------------------------------------
  1217.            NODE* ACCOUNT_EDITING 255
  1218.                Be aware this is a ****CRITICAL SECURITY COMMAND**** which
  1219.                allows access to S!X Account Editing of user accounts.  It
  1220.                is highly reccommended that ACCESS LEVEL=255 and given only
  1221.                to extremely trusted persons.  Accounts can be DELETED,
  1222.                PASSWORDS OBTAINED, and security destroyed or compromised
  1223.                be giving this access carelessly.
  1224.            -----------------------------------------------------------------
  1225.            NODE* BULLETINS 3
  1226.                This defines the ACCESS LEVEL needed to view bulletins on
  1227.                your S!X, usually it is set low.
  1228.                1.  Do not get confused between the bull##.txt which are
  1229.                    usually in BBS:Bulletins/ or BBS:Conf(x)/Bulletins and
  1230.                    those used to display messages such as bull200.txt.
  1231.                    a.  These are normally a "DIR" you keep with several
  1232.                        sequentially numbered bulletins describing the
  1233.                        operation of your S!X, special bulletins about
  1234.                        fastest transfers, most activity, accepted archive
  1235.                        methods, or perhaps various modem setup strings.
  1236.                    b.  The later are usually in the root of BBS:Conf(x) and
  1237.                        use the "###" number to specific ACCESS LEVEL needed
  1238.                        to view a special bulletin based on S!X AccessLevel.
  1239.            -----------------------------------------------------------------
  1240.            NODE* COMMENT_TO_SYSOP 5
  1241.                Another command which is normally set quite low, OFTEN below
  1242.                access needed to "Write" mail to others.  It defines the 
  1243.                access needed to use the "C" command (Comment to SysOP).
  1244.                1.  We normally set "low" so even new applicants can leave
  1245.                    private mail to SysOP, but cannot post messages to 
  1246.                    others until their account has been approved by SysOP.
  1247.            -----------------------------------------------------------------
  1248.            NODE* DOWNLOAD 10
  1249.                With this command, you tell S!X the access needed to D/L
  1250.                a file from any of your BBS:Conf/Paths that may be listed
  1251.                in BBS:conf/dir(x).
  1252.                1.  Many make the DOWNLOAD access higher than UPLOAD so 
  1253.                    new applicants can UPLOAD but not DOWNLOAD until
  1254.                    approved, but most use the same level.  The reason
  1255.                    for different levels, is so you can see the quality
  1256.                    of files a potential new member might be sending to
  1257.                    your S!X system.
  1258.            -----------------------------------------------------------------
  1259.            NODE* ENTER_MESSAGE 10
  1260.                At this level a member can leave messages to ALL (*NOT EALL*)
  1261.                and either PUBLIC or PRIVATE mail to other members of your
  1262.                system.  This level defines the access needed to acquite
  1263.                "normal E-Mail" privledges on your system.
  1264.            -----------------------------------------------------------------
  1265.            NODE* FILE_LISTINGS 10
  1266.                Viewing of "Dir(x)" files is controlled by this parameter.
  1267.                1.  I have seen a few S!X boards which make this lower than
  1268.                    DOWNLOAD so folks can see but not get files either to
  1269.                    "entice more activity" or as advertising their files.
  1270.                2.  A very few make this higher than DOWNLOAD, usually as
  1271.                    either a "punishment" for bad behavior or to restrict
  1272.                    a member from seeing their entire Dir(x) lists on some
  1273.                    PRIVATE systems. 
  1274.                
  1275.                For the vast majority: DOWNLOAD, UPLOAD, FILE_LISTINGS 
  1276.                should all be the same level to avoid members reporting
  1277.                to you that the system has "bugs".
  1278.            -----------------------------------------------------------------
  1279.            NODE* JOIN_CONFERENCE 10
  1280.                Defines access needed to use the "J" command, switching 
  1281.                between different S!X Conferences. 
  1282.                1.  This only defines the "J" command!!  ACCOUNT EDITING
  1283.                    defines to which Conf(s) a member has access.
  1284.                    a.  Defining your "J" level incorrectly can cause some
  1285.                        annoying "bugs", such as a member having access to
  1286.                        several Conf(s) but being unable to use them as the
  1287.                        "J" command is not active.
  1288.            -----------------------------------------------------------------
  1289.            NODE* NEW_FILES_SINCE 10
  1290.                One of the most "used" commands on S!X is the "N" command
  1291.                to see "New Files" since last called.  With many modern
  1292.                "Doors", you can see files REVERSE, MINUS a given number
  1293.                of days, only new in "specific" Dir(s), and many other
  1294.                options.  It is probably the most used command in S!X.
  1295.  
  1296.                1.  There are multiple "N" doors and many parameters. 
  1297.                    Commands are CLI/SHELL stackable with such options
  1298.                    as N S U, N S A,  N -10 A, and several other commands.
  1299.                    (You should provide a ^N "help" file for all the)
  1300.                    ( varieties of "N" you offer your members.)
  1301.  
  1302.                2.  ***CAVEAT***  "The ARCHIVE Dir(x) Trick)"
  1303.  
  1304.                    Many of you will want to maintain an "Online Archive
  1305.                    Listing" of all your offline files.  If you do so,
  1306.                    there are some special tricks you need to know if you
  1307.                    do not follow S!X format exactly.  This has to do
  1308.                    with how S!X scans under the "N" command for such
  1309.                    things as COL(1)=space, COL(16-22)=date, "-""-""-"
  1310.                    text in a file.
  1311.                    a.  "Doc" maintains such a large archive listing and
  1312.                        will send you a sample, or if I get enough requests
  1313.                        will write all the "Tricks" in the S!X manual for
  1314.                        custom formatted "ONLINE ARCHIVE LISTINGS".
  1315.  
  1316.            -----------------------------------------------------------------
  1317.            NODE* PAGE_SYSOP 10
  1318.                This command defines the level needed to page the SysOP 
  1319.                under "normal" circumstances [SEE: OVERRIDE_CHAT].  Usage
  1320.                requires that the SysOP has set S!X to indicate he/she is
  1321.                available for "chatting", if unavailable the user is prompted
  1322.                to leave E-Mail via "C".
  1323.                1.  There are (2) theories in using PAGE_SYSOP.  Some SysOPS
  1324.                    set this value high only allowing established member to
  1325.                    page them; they do not want to be constantly bothered
  1326.                    by every user constantly paging for unimportant reasons.
  1327.                2.  Other SysOPS keep this low to "encourage system use".
  1328.                    They allow all the "chats" to generate interest in their
  1329.                    system and help newer members.
  1330.            -----------------------------------------------------------------
  1331.            NODE* READ_MSG 3
  1332.                This command defines when a member can read HIS OWN private
  1333.                mail, meaning mail addressed to his account, or he can read
  1334.                any mail written "Public" to/from other members.
  1335.                1.  This is "normal" E-Mail status for S!X.  He can not read
  1336.                    another member's PRIVATE MAIL, MAIL TO SYSOP which is not
  1337.                    "Public", or other items in the MsgBases.
  1338.            -----------------------------------------------------------------
  1339.            NODE* REMOTE_SHELL 255
  1340.                This option defines the level needed to use "Remote Shell",
  1341.                which is access to your system's DOS via CLI/SHELL.  This
  1342.                command ***VARIES GREATLY*** in different S!X revisions and
  1343.                according to how you SysOP has defined many parameters for
  1344.                security reasons.
  1345.                1.  Many SysOPS use special "Doors" for CLI/SHELL have robust
  1346.                    protections against "hackers", i.e. Falcon's V3.5 SHELL.
  1347.                    As such BBS:COMMANDS/BBS.CMD may actually control some
  1348.                    of these "Remote Shell" functions.
  1349.                
  1350.                In any case, this is a ****CRITICAL SECURITY COMMAND****.  
  1351.                You will be granting someone the ability to enter your 
  1352.                system's DOS, thereby granting use to DELETE, FORMAT, or
  1353.                other commands (depending on how robust the "shell" may be).
  1354.                Therefore it should be HIGHLY RESTRICTED to LEVEL=255.
  1355.            -----------------------------------------------------------------
  1356.            NODE* DISPLAY_USER_STATS 3
  1357.                This controls the "S" command in S!X.  S!X will display a
  1358.                complete "statistics" of any member's account including
  1359.                UPLOADS, DOWNLOADS, DAILY TIME LIMIT, and other parameters.
  1360.                We suggest keeping this value low, as everyone should know
  1361.                their activity and "record" on your system.
  1362.            -----------------------------------------------------------------
  1363.            NODE* UPLOAD 3
  1364.                This is probably the most important command to the SysOP.
  1365.                It defines when someone can use the UPLOAD "U" command.
  1366.                
  1367.                This should obviously be set quite low; 98% of S!X Systems
  1368.                are for the purpose of exchanging data electronically.  If
  1369.                some member really abuses your system uploading very poor
  1370.                programs or data, it is better to use the "DELETE KEY" for
  1371.                that user than punish everyone by restricting uploads.
  1372.            -----------------------------------------------------------------
  1373.            NODE* VIEW_A_FILE 10
  1374.                This command controls "V" on S!X, which allows member to view
  1375.                text files within your Dir(x) listings or BBS:CONF(s)/Paths
  1376.                definitions.  *NOTE* We are talking about "Uploads" which are
  1377.                of a text or ASCII nature: i.e.  .doc .txt  .man 
  1378.  
  1379.                There are two (2) schools of thinking:
  1380.                1.  Some SysOPs RESTRICT the "V" command, rather making you
  1381.                    D/L the file to prevent abuse of the priveledge and stop
  1382.                    people from a type of "Free D/L" by using terminal
  1383.                    Capture Buffers as well as wasting system time.  These
  1384.                    are usually the more restrictive PRIVATE type systems.
  1385.                2.  Others allow you to "V" files easily, feeling it is a
  1386.                    quick way to pass information to all their members
  1387.                    without having to use excessive EALL E-Mail.
  1388.            -----------------------------------------------------------------
  1389.            NODE* EDIT_USER_INFO 20
  1390.  
  1391.                NODE* EDIT_USER_NAME 255
  1392.                NODE* EDIT_USER_LOCATION 255
  1393.                NODE* EDIT_PHONE_NUMBER 255
  1394.                NODE* EDIT_PASSWORD 20
  1395.  
  1396.                The above options are used with S!X "W" command, either
  1397.                the INTERNAL or certain external "Door" commands especially
  1398.                written to be compatable with S!X.  **NOTE** there are 
  1399.                several other <OPTIONS> available with the "W" command,
  1400.                such as editing # LINES/SCREEN, but these are given to
  1401.                everyone and not controlled by special S!X parameters.
  1402.  
  1403.                The "Main" command defines if a member can alter certain
  1404.                information and operations of his account (EDIT_USER_INFO).
  1405.  
  1406.                1.  Assuming a member has the required access, there are
  1407.                    FOUR (4) controlled fields: NAME, LOCATION (address),
  1408.                    PHONE NUMBER, and PASSWORD.
  1409.                    
  1410.                    Normally most SysOPS will *DISABLE* the member's 
  1411.                    ability to change either NAME, LOCATION, OR PHONE.
  1412.                    Otherwise you won't even know who's on your system
  1413.                    with name changes, E-Mail will become a total mess,
  1414.                    and many people will "hack" false information.
  1415.                 
  1416.                2.  PASSWORD should always be granted, except where there
  1417.                    is a known **SECURITY PROBLEM**.  It is up to your
  1418.                    members to change their PW often and guard against
  1419.                    willful or unintentional usage of their account by
  1420.                    being careless.  (USE DIFFERENT PASSWORDS ON EVERY
  1421.                    BBS....and do not use "patterns" which could be
  1422.                    redily guessed by even a SysOP!!)
  1423.            -----------------------------------------------------------------
  1424.            NODE* ZIPPY_TEXT_SEARCH 10
  1425.                Probably the "2nd-3rd Most Used Command" in S!X, excepting
  1426.                "N" and "D" is ZIPPY, or the "Z" command.  "Z" can be either
  1427.                an internal command in older revisions, or a customized
  1428.                command in BBS:System (currently Mack Lifeguard TURBO ZIPPY).
  1429.                
  1430.                1.  The member enters a <string> to be searched, and choses
  1431.                    either ALL, SPECIFIC DIR(x), or UPLOAD to search for
  1432.                    the given string.  "Z" searches the entire Dir(x) for
  1433.                    matches (meaning FILENAME, DATE, SIZE, DESCRIPTION, 
  1434.                    or UPLOADER).
  1435.                    
  1436.                    Advanced versions allow for D/L flagging via WILDCARD,
  1437.                    FILE #, or CURSOR selection.
  1438.                
  1439.                2.  "Z" should avoid most duplicate uploads, or finding
  1440.                    latest versions if the user checks correctly and the
  1441.                    S!X SysOP maintains informative DIR(x) listings.
  1442.            -----------------------------------------------------------------
  1443.            NODE* OVERRIDE_CHAT        250
  1444.                This is a "SPECIAL COMMAND" which overrides the SysOP setting
  1445.                whether "Chat" is available or not.  Primarily it is intended
  1446.                for other system SysOPS, (normally "Co-SysOPS") to be able to
  1447.                reach the main system operator even when it is not normally
  1448.                convenient.
  1449.            -----------------------------------------------------------------
  1450.            NODE* CHAT_COLOR_SYSOP 33
  1451.            NODE* CHAT_COLOR_USER  35
  1452.                This option requires that the the COLOR_COMMAND "M" be ON by
  1453.                both SysOP and "Member".  If either has COLOR=OFF, "chat will
  1454.                still function normally but "Color Queing" will not show.
  1455.                
  1456.                The SysOP's words are shown in one color, whereas Member's
  1457.                comments appear in a different color allowing easier reading
  1458.                of who is saying "what".
  1459.            -----------------------------------------------------------------
  1460.            NODE* START_0300_TIME      0
  1461.            NODE* START_1200_TIME      0
  1462.            NODE* START_2400_TIME      0
  1463.            NODE* START_9600_TIME      0
  1464.            NODE* START_19200_TIME     0
  1465.            NODE* END_0300_TIME        0
  1466.            NODE* END_1200_TIME        0
  1467.            NODE* END_2400_TIME        2359                                               
  1468.            NODE* END_4800_TIME        2359                                               
  1469.            NODE* END_9600_TIME        2359                                               
  1470.            NODE* END_19200_TIME       2359
  1471.                These times are noted in MINUTES beginning at "Midnight"=0
  1472.                and ending at "11:59PM"=2359.  For each BaudRate there is
  1473.                a START and END time, being the times at which callers at
  1474.                these bauds may call your S!X BBS.
  1475.  
  1476.                1.  START and END = 0  Says you do not allow callers at this
  1477.                                       BaudRate.  Normally you will also have
  1478.                                       a file called NOCALLERSAS<baudrate>
  1479.                                       to display, although this is a
  1480.                                       separately controlled feature of S!X.
  1481.                2.  START=0 END=2359   Means callers are allowed at this
  1482.                                       BaudRate continuously.
  1483.                    
  1484.                    You may specify any combination, such as only letting
  1485.                    2400 baud from 600 (6AM) to 1200 (NOON), and only
  1486.                    allowing 9600 from 600 (6AM) to 1920 (8PM) daily.
  1487.            -----------------------------------------------------------------
  1488.            NODE* SYSOP_READ 255
  1489.                "Accounts" which have this ACCESS LEVEL can real all messages
  1490.                within the Conf(s) MsgBases, include other's "PRIVATE MAIL".
  1491.                
  1492.                Therefore, it should be restricted only to LEVEL 255 SysOP,
  1493.                and then the SysOP has a responsibility to respect other
  1494.                people's privacy.  The only *VALID* reason for even scanning
  1495.                another's private mail is in considering **SECURITY ISSUES**
  1496.                or possible "abuses" or "improper actions" on the system.
  1497.            -----------------------------------------------------------------  
  1498.            NODE* OVERRIDE_TIMES 200
  1499.                This is another of the S!X *SPECIAL FEATURES* added for
  1500.                highly specific systems.  The command allows a user to logon
  1501.                the system even if START_<baud>_TIME or END_<baud>_TIME 
  1502.                would not normally allow access to S!X.
  1503.  
  1504.                This "OPTION" was added because you might have a special
  1505.                member who just does not own a High-Speed modem for the
  1506.                normal baudrates you allow during certain hours, so we 
  1507.                suggest you limit usage only to HIGH LEVEL ACCESS USERS.
  1508.            -----------------------------------------------------------------
  1509.            NODE* KEEP_UPLOAD_CREDIT <opt>                                            
  1510.                This Option lets specify the way upload credits are stored
  1511.                and also how to keep track off additional time awarded for
  1512.                uploads.  OPTIONS are "numbers" which are as follows:
  1513.                                                                              
  1514.                     0 - Do not keep upload credits.  When the user logs
  1515.                         off S!X, any additional time they might have used
  1516.                         for UPLOADS will be LOST!!!              
  1517.                     1 - Keep upload credits and award extra time for 
  1518.                         ONLY THIS SESSION.  If the user logs off then
  1519.                         and "extra time credits" will be lost.
  1520.                     2 - Keep upload credits and award extra time to the
  1521.                         user's account until 11:59PM.  The user may call
  1522.                         back anytime during the calendar day, which is
  1523.                         Midnight (START_<baud>_TIME = 0) through 11:59PM
  1524.                         (END_<baud>_TIME = 2359) and any "extra time"
  1525.                         will be credited to his/her account.
  1526.            -----------------------------------------------------------------
  1527.  
  1528.            ******PLEASE READ ME EXTREMELY CAREFULLY!!!!!!*******
  1529.  
  1530.            This describes using "Presets" for both a basic S!X BBS and
  1531.            the new S!X "Extended Conference System".  You must read
  1532.            carefully to understand the differences in setup and in using
  1533.            either 0-9 CONFERENCES or using the new "Greater Than (9)
  1534.            Extended Conferences".
  1535.  
  1536.  
  1537.            NODE* PRESET_ACCESS_LVL  01-10                                          
  1538.            ^      ^                 ^   ^                                          
  1539.            |__    |__ The Command   |_  |_____ the Variable                        
  1540.               |                       |                                            
  1541.               |                       |                                            
  1542.                Node specification      identifies which preset (1-6)                     
  1543.        
  1544.               This group of entries controls ACCOUNT EDITING, the "1"
  1545.               command available to S!X SysOPS.  So that you do not have
  1546.               to manually edit many fields, it allows you to have
  1547.               defined "presets" in validating members to different
  1548.               LEVELS, RATIOS, BYTE LIMITS, CONF ACCESS, DAILY TIME USE.
  1549.  
  1550.               Let me show you a sample and then explain different options
  1551.               or "strategies you might use:
  1552.           
  1553.               NODE* PRESET_ACCESS_LVL  01-20
  1554.               NODE* PRESET_RATIO_TYPE  01-0
  1555.               NODE* PRESET_RATIO       01-2
  1556.               NODE* PRESET_DAILY_BYTES 01-200000
  1557.               NODE* PRESET_CONF_ACCESS 01-X________
  1558.               ;NODE* PRESET_CONF_ACCESS 01-BADBOYS
  1559.               NODE* PRESET_TIME_LIMIT  01-2800
  1560.                                                                               
  1561.               NODE* PRESET_ACCESS_LVL  02-5
  1562.               NODE* PRESET_RATIO_TYPE  02-1
  1563.               NODE* PRESET_RATIO       02-3
  1564.               NODE* PRESET_DAILY_BYTES 02-500000
  1565.               NODE* PRESET_CONF_ACCESS 02-XXX______
  1566.               ;NODE* PRESET_CONF_ACCESS 02-NEWUSERS
  1567.               NODE* PRESET_TIME_LIMIT  02-3600
  1568.                                                                               
  1569.               NODE* PRESET_ACCESS_LVL  03-30
  1570.               NODE* PRESET_RATIO_TYPE  03-2
  1571.               NODE* PRESET_RATIO       03-5
  1572.               NODE* PRESET_DAILY_BYTES 03-1000000
  1573.               NODE* PRESET_CONF_ACCESS 03-XXXXX____
  1574.               ;NODE* PRESET_CONF_ACCESS 03-NORMAL
  1575.               NODE* PRESET_TIME_LIMIT  03-4800
  1576.  
  1577.               1.  If you just "scan" the above, you'll not that all the
  1578.                   values vary.  Rather than describing each (I already
  1579.                   did not list "Preset 4-6" to save manual space), let
  1580.                   me explain the different options available.
  1581.  
  1582.                   ACCESS_LVL   - is similar to other S!X commands.  This
  1583.                                  sets the user's ACCESS LEVEL if you chose
  1584.                                  this preset for the account.
  1585.                   RATIO_TYPE   - There are (3) variations:
  1586.                                  
  1587.                                  "0"  -  S!X will compute all "ratios" 
  1588.                                          based upon bytes.  It compares
  1589.                                          UPLOAD to DOWNLOAD and ignores
  1590.                                          the number of files entirely.
  1591.                                  "1"  -  This is the **MOST RESTRICTIVE**.
  1592.                                          It requires meeting BOTH a "Byte"
  1593.                                          and a "File" RATIO.  If you use
  1594.                                          this, remember that may have a
  1595.                                          byte ratio of 20:1 but if they
  1596.                                          U/L large files and D/L small,
  1597.                                          this method will PROHIBIT D/Ling.
  1598.                                  "2"  -  This is the **MOST GENEROUS**
  1599.                                          and ignores "Bytes" counting
  1600.                                          only the NUMBER OF FILES.  Every
  1601.                                          file (whether 1K or 1MEG) is of
  1602.                                          equal weigh; I know of no system
  1603.                                          which still uses this due to
  1604.                                          wide-spread abuses by many users.
  1605.                   RATIO        - this is always a "touchy issue" to both
  1606.                                  SysOP and users.  Ratio is merely the
  1607.                                  relationship of "one thing"  vs "another".
  1608.                                  NORMALLY most SysOPS use bytes, so a 
  1609.                                  ratio of 3:1 means you can D/L 3MEGS
  1610.                                  for every 1MEG you upload.
  1611.                                  
  1612.                                  "DISABLED" is a ***SPECIAL CONDITION***
  1613.  
  1614.                                      0 - If you set RATIO = 0, you are
  1615.                                          saying there is "no limits" on
  1616.                                          this user's U/D activity.  It
  1617.                                          is often referred to in BBSs
  1618.                                          as a "Freebie" or "Leech" account.
  1619.                   DAILY_BYTES  - High-Speed modems make the above examples
  1620.                                  obsolete.  A better approach to setting
  1621.                                  limits is the following formula
  1622.                                  
  1623.                                  1.  MAXbaud x TIME_LIMIT = DAILY_BYTES
  1624.                                      --------------------
  1625.                                             .8     
  1626.                                      
  1627.                                      We came up with this "formula" based
  1628.                                      on HST maximum baud rates, and we
  1629.                                      considered the "Extra Time Credits"
  1630.                                      a user might earn if doing much
  1631.                                      uploading to your system.
  1632.                   CONF_ACCESS  - ***SPECIAL NOTE***  This field relates
  1633.                                  old style /X and S!X V0.15-V0.39m4 !!!
  1634.                                   
  1635.                                  1. **NOTE** This is the "Original 9 Conf"
  1636.                                     fields used so long in /X and S!X
  1637.                                     versions.  Here you merely tell S!X
  1638.                                     which conferences to give access where:
  1639.                                       
  1640.                                     X =  ACCESS       _ = DENY ACCESS
  1641.                                  
  1642.                                  2. You can use either an "X_" pattern
  1643.                                     as described in CHAPTER 9 for the
  1644.                                     new "Extended Conferences", or you
  1645.                                     may use the new "NAME" option.
  1646.  
  1647.                                     a.  I have made a few ";" DISABLED
  1648.                                         "Name" entries you can refer
  1649.                                         to in reading CHAPTER 9....don't
  1650.                                         try to understand these yet, just
  1651.                                         keep reading the BASIC S!X DOCS!!
  1652.  
  1653.                                     ***CAVEAT*** PLEASE>>>PLEASE>>>PLEASE
  1654.                                                  read CHAPTER 9 before
  1655.                                                  changing from the basic
  1656.                                                  configuration supplied in
  1657.                                                  "S!X Module Install"!!!!!
  1658.  
  1659.                                  3. **YOU MUST BE 100% CERTAIN!!!** in
  1660.                                     entering the "X_string or "Name"
  1661.                                     correctly if you use "Extended
  1662.                                     Conferencing" features of S!X.
  1663.  
  1664.                                     S!X reads this as a <string>.  If
  1665.                                     you leave spaces, miscount, or make
  1666.                                     other errors.......YOU CAN EXPECT
  1667.                                     TO HAVE PROBLEMS WITH S!X OR SECURITY!
  1668.  
  1669.                   TIME_LIMIT   - This is a DAILY TIME LIMIT in "minutes"
  1670.                                  allowed to this "preset".  You should
  1671.                                  take into account other parameters of
  1672.                                  DAILY_BYTES, maximum CPU baudrate, # of
  1673.                                  members, Total NODE(x), Total System
  1674.                                  Usage in setting time limits.
  1675.            -----------------------------------------------------------------
  1676.            NODE* RELATIVE_CONFERENCES                                                   
  1677.                If this command is given, S!Xhandles Conf(s) differently.  If
  1678.                the "J" is selected, it will only allow a user to see the
  1679.                ACTUAL CONF(s) they can join.  They will not know how many
  1680.                CONF(s) exist if used with the ~CL command in JOINCONF.TXT.
  1681.                1.  Using RELATIVE_CONFERENCES "disables CONFERENCE_ACCESS
  1682.                    display in the "S" command (Well for S!X's "S"....many
  1683.                    of the "S" DOORS may not support RELATIVE_CONFERENCES).
  1684.    
  1685.            -----------------------------------------------------------------
  1686.            NODE* SENTBY_FILES
  1687.                Giving this command causes S!X to write:  Sentby: <username>
  1688.                on a separate line following each file upload.  It is best
  1689.                to use Sentby:  VS  allowing users to add some ANSI "tag".
  1690.                1.  Generally "User TAGS" tend not to be their <S!X SLOTname>
  1691.                    and there is far too much "ANSI abuse" of stylist "tags".
  1692.                    a.  S!X supports ID_DIZ which is why some SysOP turn the
  1693.                        option to OFF, knowing their members put various
  1694.                        "NameTAGS" on all uploads via the ID_DIZ option.
  1695.            -----------------------------------------------------------------
  1696.            NODE* DEFAULT_CHAT_ON
  1697.                This "toggles" whether the SysOP is "chatable" to normal
  1698.                users.  Some SysOPS turn this option ON for some NODE(s)
  1699.                and OFF for others, using certain NODE(S), i.e. phone lines,
  1700.                for their best members.
  1701.            -----------------------------------------------------------------
  1702.            NODE* BREAK_CHAT                                                            
  1703.                                                                             
  1704.                         This Command will turn on/off the ability for yar   
  1705.                         users to break out of the chat by pressing CTRL-C or
  1706.                         to stop the displaying fo files with CTRL-C in the  
  1707.                         chat.
  1708.  
  1709.  
  1710.            -----------------------------------------------------------------
  1711.            NODE* CLEAR_SCREEN_MSG
  1712.                Causes S!X to send a "CLS" command, or Clear Display Screen,
  1713.                between each displayed message.
  1714.                1.  **NOTE**  This command may override any individual users
  1715.                    screen settings in "W" parameters.
  1716.            -----------------------------------------------------------------
  1717.            NODE* ALLOW_FREE_RESUMING
  1718.                You most likely will want this option ENABLED.  It allows
  1719.                S!X users to resume any unfinished UPLOADS due to such
  1720.                factors as "Carrier Loss", "Noise", and other conditions.
  1721.                1.  S!X uses special file handling and DIRS, known as the
  1722.                    LCFiles and PartUpload "dirs" with this function.  Be
  1723.                    sure you have these "dirs" in each of your S!X Conf(s).
  1724.            -----------------------------------------------------------------
  1725.            NODE* DO_CALLERSLOG
  1726.                S!X Callerslogs are a very complete description of almost
  1727.                every action a user may take from joining a conference to
  1728.                using a door.  Callerslog(s) also show all U/Ds, CPS, and
  1729.                are a record of what each caller did including many ERRORS
  1730.                in S!X operations.  Many, many of the S!X "Doors" you may
  1731.                consider using requires generating Callerslog(s), as they
  1732.                gain the needed information from your logs.  
  1733.  
  1734.                We HIGHLY SUGGEST using both "Callerslog" and "UDlog" for
  1735.                your S!X, as almost all the advanced "Doors" and other
  1736.                advanced features will need access to these log files, but
  1737.                you need not maintain "logs" for your LOCAL (maintenance)
  1738.                node.
  1739.            -----------------------------------------------------------------
  1740.            NODE* DO_U/D_LOG
  1741.                This is a "cut-down" version of Callerslog, showing merely
  1742.                a capsulizeddigest of all U/D activity on your system.  Many
  1743.                doors prefer UDlog as it is compact and much quicker than
  1744.                Callerslog for such Doors as "Last 10 Uploads".
  1745.            -----------------------------------------------------------------
  1746.            NODE* STARTLOG
  1747.                This is a S!X "Debugger" option.  "ON" this option generates
  1748.                a file called Startuplg showing all actions of the specified
  1749.                node during initialization.
  1750.                
  1751.                1. **SUGGEST** you set this option to "ON" during your 
  1752.                   initial set-up of S!X, and subsequently any time you
  1753.                   make significant changes in ACP.STARTUP to verify
  1754.                   everything is operating correct.
  1755.            -----------------------------------------------------------------
  1756.            NODE* DOORLOG 
  1757.                This "switch" generates a complete log of all actions on your
  1758.                system which occured as a result of using any "DOORS".  It
  1759.                is useful for testing new "Doors" as a DEBUGGER, and also
  1760.                for monitoring usage by your system's members
  1761.            -----------------------------------------------------------------
  1762.            NODE* SCREEN_TO_FRONT
  1763.                This "toggle" turns on/off the "Jump Screen To Front Logon"
  1764.                feature of S!X.  If ON S!X will immediately make the Node(x)
  1765.                screen the "frontmost" when a user logs onto your system, and
  1766.                can also sound a BEEP if you have either the "Setbeep" or
  1767.                similar command (or DOS3.1 you can use the SOUND commodity).
  1768.                1.  NOTE:  If you start your screens "iconified", this option
  1769.                    will not be "active" for the screen, although the BEEP
  1770.                    or SOUND option will still work.
  1771.            -----------------------------------------------------------------
  1772.            NODE* STATBAR
  1773.                If specified, the NODE(x) will start with a 2-LINE STATUS BAR
  1774.                displaying the "User's Info" to the S!X SysOP.  This will
  1775.                show most of the essential data of the "1" ACCOUNT EDITOR.
  1776.                1.  "ON" does cause the SysOP to lose 2 lines of his
  1777.                    screen display.  So if both SysOP/USER have the same
  1778.                    settings for "NUMBER_SCREEN_LINES", the SysOP will be
  1779.                    unable to see the 1st 2 lines of of each screen.
  1780.                "HELP" TOGGLE
  1781.                    Hitting the HELP KEY will 'toggle' the STATBAR on/off.
  1782.                    NOTE: Older /X and S!X versions used the mouse, this has
  1783.                          been updated and "mousing" no longer works.            
  1784.            -----------------------------------------------------------------
  1785.            NODE* DIR_IN_KBYTE
  1786.                This feature was added at my suggestion.  ZModem is very
  1787.                stable, and most files now exceed 50-80K, so having exact
  1788.                sizes is not as important as several years ago with XModem.
  1789.                1.  This also allows for "D/L by #" to be implemented in
  1790.                    S!X easily, and several alternate "Doors" also support
  1791.                    or use the KBYTE size display method.
  1792.            -----------------------------------------------------------------
  1793.            NODE* NO_TIMEOUT
  1794.                This option will disabled and NODE(x) timeout routines.
  1795.                1.  This may be useful for direct line communications or
  1796.                    quite useful for "Local" maintenance nodes.
  1797.                2.  ***CAVEAT*** You SHOULD NOT USE this option on any of
  1798.                    your active "PhoneLine" nodes.  A caller could tie your
  1799.                    system indefinitely by just doing nothing, by losing
  1800.                    carrier, or many other means which would totally stop
  1801.                    all S!X internal checking routines to reset S!X in
  1802.                    case of inactivity or other integrity checks.
  1803.            -----------------------------------------------------------------
  1804.            NODE* SUPPRESS_QLOGON
  1805.                Normally, users have an option of hitting "Q" on logon to
  1806.                avoid seeing your LOGON.TXT and any files you might have
  1807.                associated within it via ~MCI commands.
  1808.  
  1809.                If this command is specified, users CAN NOT bypass either
  1810.                your LOGON or LOGOFF screens, forcing them to see what the
  1811.                SysOP feels is important information about his S!X BBS.
  1812.            -----------------------------------------------------------------
  1813.            NODE* STEALTH_MODE
  1814.                This command has been changed several times.  Currently if
  1815.                ON, it will only display the S!X © and Version and not
  1816.                display any further information until the SYSTEM_PASSWORD
  1817.                is correctly entered.
  1818.                1.  **EXCEPTION**  If you have a file called PRIVATE.TXT
  1819.                    in BBSTEXTS, this file will always be displayed first.
  1820.                    We did this so folks could use PRIVATE.TXT as a
  1821.                    "Disclaimer" and actually show the SYSTEM_PASSWORD.
  1822.                    
  1823.                    If a caller fails (or "REFUSES") to enter acceptance
  1824.                    of your system's rules then nothing else is displayed
  1825.                    and S!X resets after 3 PassWord fails.  Normally most
  1826.                    "Disclaimers" will ask for "YES" or "ACCEPT"; we have
  1827.                    included an example PRIVATE.TXT in S!X Modular Install
  1828.                    Packages.
  1829.            ----------------------------------------------------------------- 
  1830.            NODE* QUIETNODE 
  1831.                This "switch" activates a ***SPECIAL PARAMETER** in your
  1832.                personal "W" parameter settings to operate.  Field "C"
  1833.                in "W" allows you to block the ability of other users to
  1834.                see your presence or report your activities in S!X's "Who"
  1835.                program from other Node() users.
  1836.                1.  NO = Do not "block"  YES = "Hide" me from other users.
  1837.                2.  Other "Who Doors" written independently, may or may not
  1838.                    support QUIETNODE as they must be properly coded to
  1839.                    determine how you have set your "W" parameters.
  1840.            -----------------------------------------------------------------
  1841.            NODE* CAPITOLS_IN_FILE
  1842.                This option causes all uploaded "FILENAMES" in your Conf
  1843.                Dir(s) to be converted to UPPERCASE.  Some SysOPS prefer
  1844.                this to avoid "mixed-case" filenames.
  1845.                1.  Their is no equivalent "command option" to convert
  1846.                    all filename entries to lowercase.
  1847.            -----------------------------------------------------------------
  1848.            NODE* NO_MCI_MESSAGE
  1849.                Turns off all ~MCI, Macro Command Interpreter, function in
  1850.                S!X.  These are command your SysOP and certain "Doors" use
  1851.                for special functions.
  1852.            -----------------------------------------------------------------
  1853.            NODE* NO_WILDCARDS
  1854.                This is probably a command which would make the SysOP VERY
  1855.                UNPOPULAR with his users.  If activated, it DISABLES are
  1856.                "Wildcard" (*) features of S!X downloading.
  1857.            -----------------------------------------------------------------
  1858.            NODE* CONFERENCE_ACCOUNTING
  1859.  
  1860.            This new feature turns on RELATIVE CONFERENCE ACCOUNTING.  A
  1861.            better explanation is that your USERS will have whatever
  1862.            RATIOS you've set in EACH CONF() instead of on your entire
  1863.            BBS and all CONF() as a whole.  In other words if you use
  1864.            BYTES and set the ratio to 3:1, they must maintain that
  1865.            ratio in each Conf() where they have access.
  1866.            
  1867.            The rational for this feature is stopping "Abuses".  Only
  1868.            those which support a Conf() can DOWNLOAD from that Conf().
  1869.            
  1870.            ***CAVEAT*** The "negative" is that you could have users which
  1871.                         genuinely support your MAC, PC, or other CONF()
  1872.                         but not say your AmiNET area, but would be
  1873.                         precluded from DOWNLOADING due to their bad
  1874.                         ratios............so use this with EXTREME CARE.
  1875.                
  1876.                         This can be somewhat "Minimized" by putting 
  1877.                         files which you believe should be accessable
  1878.                         from supporting a CONF() in that area and using
  1879.                         your Dir() to list them there with the proper
  1880.                         BBS:Conf()/Paths allowing for D/Ling from that
  1881.                         Conf()
  1882.            -----------------------------------------------------------------
  1883.            NODE* CENTRAL_HOLD
  1884.  
  1885.            This new feature of S!X eliminates the need for a "HOLD"
  1886.                dir in each of your Conferences.  Rather all files which
  1887.                were market "/" or PRIVATE are put into once central area
  1888.                for your review.  Some will prefer the old method; others
  1889.                the new "Centralized" option.
  1890.                
  1891.                1.  "ACTIVATING"  -  You must first create a directory
  1892.                                     called BBS:HOLD which will receive
  1893.                                     all the files from every Conf(x) which
  1894.                                     are "/" PRIVATE.
  1895.  
  1896. <VERIFY>                            ***NOTE*** You must create the BBS:HOLD
  1897.                                     dir or create BBS:Conf(x)/HOLD dirs to
  1898.                                     store files which were marked PRIVATE,
  1899.                                     failed your FILECHECK system, or were
  1900.                                     otherwise meant not to be "Online".                                    
  1901.  
  1902.                2.  ACP.STARTUP   -  Next you will ACTIVATE the command in
  1903.                                     your ACP.STARTUP which will cause this
  1904.                                     feature to become activated.
  1905.  
  1906. <ERRATA>       ***NOTATION***    -  The "F H" function will not work with
  1907.                                     CENTRAL_HOLD as of V0.39n1.  This we
  1908.                                     are aware of and will quickly change
  1909.                                     the programming of the "F" function
  1910.                                     to correct withing S!X.  However certain
  1911.                                     previous "3rd Party Door" routines will
  1912.                                     like not be able to use F H due to the
  1913.                                     programmers being unaware in advance
  1914.                                     that this option would be available.   
  1915.  
  1916.            -----------------------------------------------------------------
  1917.            RESTRICT BBS:COMMANDS/BBS.CMD
  1918.            RESTRICT BBS:USER.DATA
  1919.            RESTRICT BBS:USER.KEYS
  1920.                This option restricts members from DLing certain **CRITICAL
  1921.                FILES**.  If a user attemped DL, it will write a special
  1922.                message in the "CallersLog" and the DL will be cancelled.
  1923.            -----------------------------------------------------------------
  1924.            NODE* LOCAL_UL_PATH DH2:Myprojects
  1925.                This allows you to configure the DEFAULT Dir for "Local"
  1926.                uploads, something S!X Development Team members wanted
  1927.                themselves for some time.  When you make a "Local UL"
  1928.                S!X will not automatically open on your "Local UL path",
  1929.                using a GUI Requester interface.  
  1930.                1.  The requester is "Intelligent" now having buttons
  1931.                    for VOLUME and PARENT, so you can switch to other
  1932.                    paths if desired.           
  1933.            -----------------------------------------------------------------
  1934.            BUTTON01: PlusED      |run BBS:myutils/plusED20 
  1935.            BUTTON02: UserEdit    |run >NIL: bbs:utils/MCP
  1936.            NUTTON03: PlusED      |run BBS:myutils/plusED20
  1937.               ^        ^         ^
  1938.               |        |         |
  1939.               |   Command Name   column 24 must contain the '|' symbol
  1940.               |       
  1941.               |-BUTTON/NUTTON TO USE
  1942.          
  1943.            BUTTONS - are commands you can add to your ACP yourself and
  1944.                      are totally "configurable" via ACP.STARTUP.
  1945.                      
  1946.                      Normally these are utilities which help you control
  1947.                      S!X operations, do maintenance chores, or provide
  1948.                      information to the SysOP about S!X's operations
  1949.  
  1950.            NUTTONS - The only difference between a "BUTTON" and "NUTTON"
  1951.                      is that you must specify the NODE(x), as NUTTONS
  1952.                      are assumed to be commands to manipulate, update,
  1953.                      or modify a particular NODE() instead of the S!X
  1954.                      environment in general.  These are generally 
  1955.                      commands to edit screens, view CALLERSLOGS on a
  1956.                      NODE(s), clean MsgBases, or similar uses.
  1957.                      
  1958.                      1.  S!X will automatically add the "Node()" to the
  1959.                          command string when you click a NUTTON and then
  1960.                          a NODE(x).
  1961.  
  1962.  
  1963. 6. CHAPTER 6    Configuring S!X Using CONFIG and CONFIG(x) Files
  1964.    =============================================================
  1965.  
  1966. ***************************************************************
  1967. CHAPTER 6    Configuring S!X Using CONFIG and CONFIG(x) Files
  1968. ***************************************************************
  1969.  
  1970.         CONFIG is an executable program.  It was written by Mike Thomas
  1971.         and the way all "Original" /X systems were configured using a
  1972.         very "User-Friendly GUI Interface".  With the development of
  1973.         ACP.STARTUP scripts (V2.0 - V2.34 /X), Joe Hodge did not update
  1974.         the CONFIG program, but maintained compatability between
  1975.         the old method and the new.  S!X also maintained this backward
  1976.         compatabiling due to many "Doors" using Config(x) files and the
  1977.         ease of configuration of a basic system.
  1978.         
  1979.         CONFIG generates "Binary Coded Files", being a mere 1972 bytes
  1980.         which contained all the information needed to start /X or S!X.
  1981.         
  1982.         It is certainly easier to create and "debug" a small 1972 byte
  1983.         binary via a "user-friendly" GUI Interface, than to slave over
  1984.         a 6-8K script of the complex parameters needed under ACP.STARTUP.
  1985.            1.  This is why we have maintained CONFIG, and why we plan
  1986.                of a completely revised S!X CONFIG in the future.
  1987.            2.  Historically ACP.STARTUP was to be only a "Development"
  1988.                interim means to test all the new V2.0 - V2.34 /X
  1989.                enhancements and all the myriad of new features 
  1990.                created when Stephan (Steve to his English friends)
  1991.                began development of the S!X system.
  1992.  
  1993.         ****************************************************
  1994.         GENERATING CONFIG(x) FILES USING CONFIG FOR S!X
  1995.         ****************************************************
  1996.  
  1997.         FIRST.....let me say that CHAPTER 6 is after CHAPTER 5 for a
  1998.                   reason.  I have already given you a very detailed
  1999.                   explanation of ACP.STARTUP and explained what each
  2000.                   parameter does.
  2001.                    
  2002.                   There are NO DIFFERENCES between how these parameters
  2003.                   operate using CONFIG(x) files and using ACP.STARTUP,
  2004.                   excepting that the old CONFIG(x) screens have not
  2005.                   been updated and therefore do not contain all the
  2006.                   information which ACP.STARTUP does.
  2007.  
  2008.         SECOND....Even though CONFIG is "older" it will work beautifully
  2009.                   to configure all the BASIC PARAMETERS needed to run
  2010.                   S!X, and pass these parameters to many of the fine
  2011.                   existing "DOORS" and S!X UTILITIES which exist.
  2012.  
  2013.         Therefore, I will not give you a "detailed description" of
  2014.         every command within CONFIG as it is GUI and very intuitive
  2015.         once you view the screens.  Rather I will explain the
  2016.         difference between using ACP.STARTUP and CONFIG(x) in running
  2017.         S!X and all the utilities developed for /X and S!X.
  2018.  
  2019.         1.  STEP #1 - Find the find BBS:Config.  From a CLI/SHELL merely
  2020.             issue the command: RUN CONFIG.
  2021.  
  2022.             a.  A screen will open saying:
  2023.                 "Ami-Express System Configuration Utility V2.0 Screen 1"
  2024.                 
  2025.             b.  If you go to the top, you will find a "Pull Down Menu"
  2026.                 which will allow you to look at Screen 1, Screen 2, and
  2027.                 Screen 3.  Take a minute to look at each carefully.
  2028.  
  2029.         2.  STEP #2 - It should be fairly obvious that most basic S!X
  2030.                 configuration parameters can be addressed via CONFIG
  2031.                 but not **ALL**......especially newer S!X parameters.
  2032.                 
  2033.                 Nevertheless, we can describe 9 Basic Conferences, all
  2034.                 the basic information to control reading files, uploading,
  2035.                 downloading, and many other parameters.
  2036.         
  2037.         3.  STEP #3 - Go back and review ACP.STARTUP completely.  You'll
  2038.                 notice that ACP.STARTUP has individual entries for each
  2039.                 NODE(x), or you can use NODE* wildcarding for all nodes.
  2040.             a.  CONFIG differs in that it generates a CONFIG(x) file for
  2041.                 each node:  Config0   Config1  Config2   Each of these
  2042.                 files will be 1972 bytes of "Binary Encrypted Data"
  2043.                 (ask a programmer friend about coding ULONG  VS "Script").
  2044.             b.  Now try to generate CONFIG0 and CONFIG1 files for both
  2045.                 your "Phone" and "Local" Node(x) which came in the
  2046.                 S!X Modular Installation Package.
  2047.             
  2048.         4.  STEP #4 - ***CAVEAT***  Certainly we can not create 25
  2049.                 Conferences, nor tell Config0 to list Dir(x) in KBytes.
  2050.                 This is unimportant.  We just want to use CONFIG and
  2051.                 CONFIG(x) to make a simple, operational S!X BBS.
  2052.             
  2053.             a.  If you look at ACP.STARTUP (either in this manual or
  2054.                 that which came in your S!X Modular Install) you will
  2055.                 see the disabled entry: ;LOADCONFIG
  2056.                 
  2057.                 ***LOOK*** for a file S:ACP.STARTUP-LoadConfig which
  2058.                 also should come with S!X Modular Install Packages.
  2059.             
  2060.             b.  ACP.STARTUP-LoadConfig is the ****ACTUAL*** file I
  2061.                 used to start my S!X in testing this module!!!!!!
  2062.                 
  2063.                 1.  Note that almost EVERY ENTRY has been deleted.
  2064.                     This ****DEMONSTRATES**** a simple S!X initialization.
  2065.                 
  2066.                 2.  YES.....certain of the new commands will not work as
  2067.                     I have not defined them.  You can add these to the
  2068.                     S:ACP.STARTUP-LoadConfig, and then retest for
  2069.                     proper operation.
  2070.           
  2071.         5.  To run a "Local Node" remove the device name from the config
  2072.             file and S!X will not use the serial port.  To properly
  2073.             remove the serial device, click in the gadget and hit
  2074.             RIGHT-AMIGA-X that will empty the gadget.
  2075.                       
  2076.         ****GENERAL NOTES AND CAVEATS****
  2077.  
  2078.         1.  Obviously doing it via CONFIG, you must know which NODE(x)
  2079.             you are working with.
  2080.         2.  Remember ***OBVIOUS RESTRICTIONS*** such as CONFIG only
  2081.             being able to understand and generate 9 Conferences.
  2082.             
  2083.             You'll have to add CONF(10-whatever) by making additional
  2084.             entries in ACP.STARTUP-LoadConfig
  2085.         
  2086.         3.  ****PROBLEMS****  Please call me "Personally" at Doc's
  2087.                               House (614) 855-3114 or leave mail
  2088.                               via Internet: gagreen@iwaynet.net
  2089.             Frankly, I'm one of the "last old GeeZERS" to still use
  2090.             CONFIG and CONFIG(x) screens this long with S!X, so I
  2091.             probably can help you much faster with any problem.
  2092.             
  2093.             BTW-----don't panic!!!  Config(x) actually is very easy
  2094.                                     to get running.  It takes most
  2095.                                     reading this manual about 30
  2096.                                     minutes any maybe 2-3 tries to
  2097.                                     have their S!X operational. 
  2098.  
  2099.  
  2100. 7. CHAPTER 7 Installing S!X In Your Startup-Sequences
  2101.    ==================================================
  2102.  
  2103. *************************************************************
  2104. CHAPTER 7 Installing S!X In Your Startup-Sequences
  2105. *************************************************************
  2106.  
  2107.     Let me preface this section of the manual, saying there is no
  2108. "Universal" nor "Perfect Installation Method".  Each person's "startups"
  2109. are similar to the fingerprints or DNA; i.e. no two are exactly alike.
  2110. Therefore there are limitations to the information herein, and a few
  2111. of you will experience some minor setbacks due to special utilities,
  2112. screen modes, or other commands you have running in all your system.
  2113. Even various shells (C-SHELL, S-SHELL, etc) and 10,000 other commands,
  2114. patches, and variables come into play.
  2115.     PLEASE DO NOT BE ALARMED!  We know from experience that over 90%
  2116. of you will have S!X running within 1HR from the S!X Modular Installation
  2117. Packages; over 98% have S!X running within 4HRS without difficulty.
  2118.     1.  S!X Development Team Members are interested in more than just S!X.
  2119.         Many are experienced programmers, testers, or highly experienced
  2120.         experts in general AmigaDOS/OS, so while we can not anticipate
  2121.         "EVERYTHING", we hopefully have anticipated "MOST COMMON THINGS".
  2122.  
  2123.     1.  STEP 1 - Installing S!X and the SYS: Dir Files
  2124.          
  2125.         When you receive a S!X Modular Install Package, or update, you
  2126.         need to copy many files to your SYS: and to dirs which are
  2127.         created within your SYS:  Herein we refer to SYS: as that drive
  2128.         which is your "Boot Device".  You may call it DH0:, DH1:, or FH2
  2129.         yet it is still normally a HARD DRIVE from which all your main
  2130.         SYS: directories reside such as LIBS: FONTS: S: L: etcitera.
  2131.         
  2132.     2.  STEP 2 - Altering your "Startups"
  2133.  
  2134.         Whether you use DOS 2.0 or DOS 3.1, the "General Rule" is that
  2135.         S!X is started either by:   S:user.startup
  2136.                                     S:user-startup2
  2137.         
  2138.         Therefore, let's look at why there are two variations and explain
  2139.         which of you might prefer using one versus the other.  I'll start
  2140.         with the "Generic S!X" and explain the *SPECIAL VARIATIONS* later.
  2141.  
  2142.     3.  STEP 3 - Editing the "Startups"
  2143.  
  2144.         ======S:startup-sequence "additions"======
  2145.         
  2146.         ASSIGN BBS: DH0:BBS           ;this assigns BBS: to the HDrive DH0:
  2147.                                       ;via the Directory created therein 
  2148.                                       ;called BBS
  2149.         ASSIGN DOORS: BBS:DOORS       ;"Sequence" of entry is important, as
  2150.                                       ;BBS: must be assigned first. This is
  2151.                                       ;where all the "Doors" reside
  2152.         ASSIGN UTILS: BBS:UTILS       ;This is where ACP, EXPRESS, and key
  2153.                                       ;S!X system executables reside
  2154.         PATH BBS: BBS:DOORS BBS:UTILS ADD  ;This adds these "paths" to your
  2155.                                            ;pathstream
  2156.         ;PATH BBS:MYUTILS ADD         ;"Optional"...this is so I can keep
  2157.                                       ;all my S!X maintenance utils in one
  2158.                                       ;Dir and use from CLI/SHELL or WBench. 
  2159.         =====END S:Startup-Sequence=====
  2160.  
  2161.         =====S:User-Startup "Additions"=====
  2162.         run >NIL: ACP                 ;this actually starts S!X via your
  2163.                                       ;ACP.STARTUP or CONFIG(x), depending
  2164.                                       ;on which way you chose to start S!X
  2165.         =====END S:User-Startup=====
  2166.  
  2167.         
  2168.         AS STATED:  The above should work for 90%+ of you very "1ST TRY"
  2169.                     providing you following the installation directions.
  2170.                     1. FIRST = recheck the "installation" if this is the
  2171.                                first time you have installed S!X's basic
  2172.                                module
  2173.                     2. SECOND= check that you made the above entries
  2174.                                correctly (your SYS: may be DH3:) so do
  2175.                                not merely copy the above example.
  2176.                     3. THIRD = ***CHECK YOUR "StartLog".  We configured
  2177.                                the example ACP.STARTUP and S!X Modules to
  2178.                                generate a file when they try to start.
  2179.                                Later you can remove this, but we enable
  2180.                                it to spot "opppps...I goofed" problems.
  2181.           
  2182.     4.  STEP 4 - "CUSTOMIZED STARTUPS"
  2183.  
  2184.         ***DO NOT PROCEED IF S!X IS STILL NOT WORKING AT ALL***
  2185.  
  2186.         OK.  You now have S!X running, but it may not be exactly correct.
  2187.         Common problems are that the "Screens" are scrolling beyond your
  2188.         screensize, some utils or doors will not work, and other features
  2189.         are behaving erratically.  Let me go thru a few of the common
  2190.         "Custom Installations" and perhaps we can clear your problem 
  2191.         without having to call a S!X Support Site.
  2192.  
  2193.         a.  "Doc's" METHOD - running PAL on NTSC machines in HiRES PAL    
  2194.             
  2195.             In the ACP.STARTUP example (in S!X MODULES and this MANUAL)
  2196.             you'll see I set the screens for HiRES PAL, even though I
  2197.             run S!X on a NTSC A2000 G-Force II 40Mh.  
  2198.  
  2199.         =====S:Startup-Sequence "Modifications=====
  2200.         
  2201.         ;IPrefs               ;REMOVE from startup or that stupid requester
  2202.                               ;will drive you crazy and it won't work
  2203.         ;VirusZ               ;It starts a "Window" which you **CAN NOT DO**
  2204.                               ;before running IPREFS and switching to PAL
  2205.         ;"Any Window Maker"   ;Remove any command which opens a window, CLI,
  2206.                               ;or display as we have not changed modes yet
  2207.         ;
  2208.         ;  ON THE LINE BEFORE LOADWB  ADD THE FOLLOWING
  2209.         ;run >NIL: S:user-startup2  ;This will start S!X, convert to PAL, and
  2210.                                     ;start all "Windowed" type programs after
  2211.                                     ;we reset IPREFS into PAL.
  2212.         =====END S:startup-sequence "Modifications"
  2213.  
  2214.         =====S:User-Startup2 "Example"=====
  2215.         wait 2              ;timing for IPREFS and AMIGA2PAL setup      
  2216.         iprefs              ;RESET Screens to PREFERENCES         
  2217.         wait 1              ;"timing" thing for iprefs and screens
  2218.         amiga2pal           ;Start CUSTOM SCREENS IN PAL          
  2219.         ced -r              ;CED PRO V3.5--- EATS 182K  HOT RALT-RSHIFT-CR
  2220.         run >NIL: ACP       ;start S!X ACP and all NODE(S)
  2221.         cd BBS:             ;"wake up call" I give it
  2222.         run >NIL: VirusZ    ;moved due to "Window Problem" switching to PAL
  2223.         c:runback c:setbeep bbs:myutils/horn3.snd  ;HORN on "o" PAGE
  2224.         =====END S:User-Startup2 "Example"=====
  2225.  
  2226.             You will also want to do one of the following:
  2227.             1.  Put the PAL monitor in your SYS:WBstartup and make the
  2228.                 appropriate changes to your PREFS:
  2229.             2.  Use the CLI/SHELL utility PAL or PAL-NICO in your 
  2230.                 S:startup
  2231.             
  2232.             You'll **NOTE** in this entire procedure that I do load
  2233.             CONCLIP in S:startup-sequence and let all the other normal
  2234.             "startups" operate such as ASSIGNS, PATHS.........but I
  2235.             ****DO NOT LET**** any screen open.  This is why I create
  2236.             the user-startup2 and put all "screens" there and have it
  2237.             as the last line before LOADWB in my S:startup-sequence.
  2238.         
  2239.             *****YOU MUST**** set the "S" flag on USER.STARTUP2 as it
  2240.             is an "executable script". (I have an ALIAS to set flags RES)
  2241.  
  2242.         b.  "Too Few" or "Too Many" ScreenLines.
  2243.             
  2244.             1.  Generally this is a problem caused by either ACP.STARTUP
  2245.                 or the differences between NTSC and PAL machines.  If you
  2246.                 note that you have about 8 lines too few, then you are
  2247.                 running NTSC on a PAL machine.
  2248.             2.  If you can not see the "Bottom" lines, you are trying to
  2249.                 run a PAL setup on NTSC.
  2250.             
  2251.             In either of these instances, you merely need to load the
  2252.             appropriate Monitor in WBstartup, change your PREFS:, and
  2253.             make a few adaptations to ACP.STARTUP, and possible some
  2254.             commands in your S:"startups".
  2255.             
  2256.             I ***HAVE INCLUDED*** in the S!X Modular Install Package
  2257.             a "C:" Dir.  This dir contains Nico Francois's AMIGA2PAL
  2258.             for running PAL Custom Screens on an NTSC as well as the
  2259.             HORN3.SND, RUNBACK, and SETBEEP.  If you need PAL or
  2260.             PAL-NICO, these utils should be available on any good S!X
  2261.             BBS (...probably not on /X C-NET or other BBSs HE HE).
  2262.    
  2263.     5.  STEP 5 - I "just can't get ACP or S!X working"
  2264.  
  2265.         a.  FIRST....do not "PANIC".  We obviously can't anticipate
  2266.             every problem, but we did put quite a bit of "self-diagnostics"
  2267.             into S!X.  [SEE TROUBLESHOOTING FOR DETAILED HELP!!]
  2268.             
  2269.             1.  Check your StartLog.....I have it "activated" in all
  2270.                 S!X Modular Install Packages, and you will often find
  2271.                 the source of error in its diagnostic output
  2272.             2.  **NO ACP**  CD to BBS:Utils and enter the command: ACP
  2273.                 a.  This should generate an **ERROR MESSAGE** likely
  2274.                     telling you what is wrong, such as a missing file.
  2275.                 
  2276.             3.  **ACP BUT NO S!X**  Same as #2 by enter the command:
  2277.                 express <node#>, i.e. express 0 
  2278.                 a.  This should return an ERROR MESSAGE telling you
  2279.                     why ACP could not start your S!X Node().
  2280.             
  2281.             3.  RECHECK your installation if this is a "NEW INSTALL"
  2282.                 to be certain you did it correctly
  2283.                 
  2284.             4.  RECHECK you ACP.STARTUP and S:"startups"
  2285.  
  2286.         b.  ******PANIC!!!!******
  2287.                
  2288.             Not really!!!  Just call a S!X Support Site.  We are here
  2289.             to help you isolate such problems.  It is possible you made
  2290.             a common mistake, one we didn't anticipate, or found a 
  2291.             totally new "bug" we've never seen before.  However we will
  2292.             work with you to get S!X up and running flawlessly.
  2293.            
  2294.  
  2295. 8. CHAPTER 8 - Controlling S!X Via ACP
  2296.    ===================================
  2297.  
  2298. *************************************************************
  2299. CHAPTER 8 - Controlling S!X Via ACP
  2300. *************************************************************
  2301.  
  2302.     ACP is the "brain" of S!X.  It allows you to control the entire S!X
  2303.     operations on every node(x), get reports on user activities, edit
  2304.     accounts, and run "Custom Commands" via the BUTTON/NUTTON feature.
  2305.  
  2306.     It is important that you understand all of ACP's functions and
  2307.     capabilities.  It will make being a SysOP so much easier and
  2308.     enjoyable, and you will find you can be more productive using
  2309.     features we have tested among hundreds of SysOPS as the most
  2310.     useful and productive.  Therefore let's go thru a detailed
  2311.     description of ACP and its functions.
  2312.  
  2313.     There should be an "Iconified" window on the WBench (in the lower
  2314.     left corner if you used "Doc's" parameters for HiRes PAL).  There
  2315.     are THREE BUTTONS; now just click on the middle one on the right
  2316.     side to enlarge ACP.  Let's briefly describe what each "Button" does
  2317.     (SORRY...I am a lousy artist so I won't try to draw a clever ANSI).
  2318.  
  2319.     ***TOP "EDGE" of ACP***
  2320.  
  2321.     TOP LEFT    -   **CAUTION**  Clicking here (1) time causes all your
  2322.                                  NODE(s) to become INACTIVE_.  If you
  2323.                                  click (2) times, all NODE(s) become
  2324.                                  inactive and you quit ACP.
  2325.                     1.  The "1" click option is used often to RESET
  2326.                         NODE(S) and "2" click to make changes to S!X
  2327.                         parameters and then restart with: RUN >NIL: ACP
  2328.     "CREDITS"   -   1.  Click the RIGHT MOUSE anywhere in the area
  2329.                         saying, "S!X Serving Control", or If you use a
  2330.                         "HotMouse" anywhere within ACP.  You should see
  2331.                         a "pull-down-menu":
  2332.                         
  2333.                         a.  PROJECT - will have entries telling you about
  2334.                                       those working in S!X Development,
  2335.                                       S!X Support Sites, and other info
  2336.                                       to contact us for support.
  2337.                         b.  MASTER CONTROL - this corresponds to the 15
  2338.                                       S!X system control commands, and I
  2339.                                       will explain each later in detail.
  2340.                         c.  CUSTOM CONTROL - this corresponds to your 15
  2341.                                       "Personalized BUTTON/NUTTON" commands
  2342.                                       which you can make yourself.
  2343.     RIGHT "MID" -   This is your "Iconify" button which toggles between
  2344.                     display and "Iconified" mode.
  2345.     RIGHT       -   This is the "Screen Shuffle" which works just like any
  2346.                     other window on you WBench.   
  2347.  
  2348.     ***TOP "Row" of ACP***
  2349.  
  2350.     /X          -   This is what I'll describe as a "Semi Iconify" button.
  2351.                     Clicking "toggles" between seeing the entire ACP and
  2352.                     just the area where you see the NODE(s) with all your
  2353.                     "Custom Commands" and "S!X Current Node Activity"
  2354.                     in the iconified state.
  2355.     USER        -   These are not "Buttons" but show you what is being
  2356.     LOCATION        displayed to the right of each Node(x) in the Node(x)
  2357.     ACTION          "S!X Current Node ctivity".  It shows =Who-n-What= 
  2358.     CPS             is presently occuring on each Node(x) constantly.
  2359.  
  2360.     ***Node(x) Buttons***
  2361.  
  2362.     Node(x)     -   Clicking here if you started a Node(x) in the iconified
  2363.                     state will cause that Node(s) screen to become active,
  2364.                     and to "Screen Shuffle" to make that Node'(s) screen
  2365.                     frontmost.  i.e. DeIconify and Screen-to-Front.
  2366.                     1.  If already "active", it does only "Screen Shuffle"..
  2367.                     
  2368.     ***CONTROLLER & "S!X Recent Activity Display***
  2369.  
  2370. <NO_DEF>  x     -   ???
  2371.  
  2372.     S!X CONTROL -   This is a "Toggle" which switches between the 15
  2373.                     S!X CUSTOM COMMANDS and your (15) BUTTON/NUTTONS.
  2374.     "Cycle"     -   Clicking here will cycle the "S!X Recent Activity
  2375.                     Display", showing activities on your S!X BBS as follows:
  2376.                     a.  LAST (5) CALLERS
  2377.                     b.  LAST (5) UPLOADS
  2378.                     c.  LAST (5) DOWNLOADS  
  2379.  
  2380.     ***S!X CUSTOM COMMANDS and "BUTTONS/NUTTONS"
  2381.  
  2382.     I will not discuss "BUTTONS/NUTTONS" as these are your customized
  2383.     commands.  Suffice to say that clicking the S!X CONTROLLER will
  2384.     "toggle" between S!X CUSTOM COMMANDS and those you create yourself.
  2385.  
  2386.     Now let's go thru all the S!X CUSTOM COMMANDS.  This truly is the
  2387.     "Brains" of S!X, so it is imperative you understand what each of
  2388.     these key elements does and represents.
  2389.  
  2390.     ***NOTE*** Darn near forgot....to use any of the S!X CUSTOM COMMANDS
  2391.                you must FIRST "click the command" and then CLICK the
  2392.                "node" you wish the command to act upon.  Sorry, but that
  2393.                is pretty important for you to remember!!!
  2394.  
  2395.        [ Sysop Login ].....Logs you into a node as the sysop.  It bypasses
  2396.                            PRIVATE.TXT, entering your NAME/PASSWORD, 
  2397.                            PWcheck, "WHO", and LOGON.TXT commands for
  2398.                            a normal logon.  For this reason it is an
  2399.                            "Often Used Feature", saving the SysOP much
  2400.                            time logging onto his S!X locally.                  
  2401.        [ Instant Login ]...This give a carrier detect command to the      
  2402.                            modem.  This is primarily used to re-establish 
  2403.                            a S!X BBS to a user after talking to them voice
  2404.                            on the same line.  Knowing this command allows 
  2405.                            you to "switch" between a MODEM/VOICE call.
  2406. <ERRATA>......this is SERIOUSLY BROKEN as of V0.39u6.  Open on WB in WB
  2407.               colors and position is all DISTORTED.  
  2408.        [ AEShell ].........This will open a shell on the Node(x) screen.
  2409.        [ Toggle Chat ].....This toggles the Node's chat request flag.
  2410.                            If "Chat"=OFF, only users having access   
  2411.                            greater than defined in OVERRIDE_CHAT  may
  2412.                            page the SysOP.
  2413.        [ Exit Node  ]......This will shutdown the node in question.  
  2414.                            ***NOTE*** "Exiting" releases the SERIAL  
  2415.                            PORT back to the system.  It is slightly  
  2416.                            different than NodeOFFhook, as the phone  
  2417.                            can now ring or be used for say a terminal
  2418.                            program.
  2419.        [ Local Login ].....This is just like logging on "REMOTE", except
  2420.                            normally most SysOP only use this on the     
  2421.                            "LOCAL" (non phoneline Node).  It can be used
  2422.                            on ANY NODE, and is used to test new screens 
  2423.                            and features (...especially if you use ~MCI  
  2424.                            commands).
  2425.        [ Reserve Node ]....This allows S!X to "reserve a Node to only let 
  2426.                            a specified user logon to S!X.  It will display
  2427.                            the USER NAME and RESERVED in your ACP's       
  2428.                            "S!X Current Activity Display" and put a line  
  2429.                            on your Node(x) AWAITSCREEN.TXT stating that   
  2430.                            the node is RESERVED with the "UserName".      
  2431.                                                                           
  2432.                            This is a "Toggle"...clicking it again without 
  2433.                            entering a UserNAME will restore the Node()    
  2434.                            to normal operation of "Awaiting Caller.       
  2435.                                                                           
  2436.                            If RESERVED, the Node() will return to normal  
  2437.                            state after the specified caller has logged    
  2438.                            onto your system on the specified Node().
  2439.        [ Accounts ]........This takes you into account editing on a node.
  2440.                                                                          
  2441. <NO_DEF>                   A detailed explanation of "ACCOUNT EDITING"   
  2442.                            is discussed in CHAPTER 9.
  2443.        [ Init Modem ]......This re-initializes a particular Node(x)
  2444.                            initialization string as defined in ACP.
  2445.                            program.
  2446.        [ Node(offhook) ]...This will shutdown the node in question and 
  2447.                            also make the phoneline "BUSY".  S!X still  
  2448.                            maintains control of the SERIAL PORT, so you
  2449.                            can not use a terminal or other SERIAL PORT 
  2450.                            program.
  2451.        [ Quiet Node]......."Quiets" a particular Node(x) so that "WHO"
  2452.                            activity and "Q" option on logon is active.
  2453. <NO_DEF>                   Is "OVER-RIDDEN" if user has ACCESS_LEVEL  
  2454.                            above that specified in ACP.STARTUP for    
  2455.                            these parameters.
  2456.        [ Config Node ].....This will bring up the old CONFIG program for   
  2457.                            a particular Node().                            
  2458.                                                                            
  2459. <ERRATA>                   **NOTE ME**  In CHAPTER 5-6 I discussed starting
  2460.                            S!X via both ACP and CONFIG(x), and the         
  2461.                            importance of maintaining both for many S!X     
  2462.                            utilities and "Doors".  This command uses the   
  2463.                            same V2.2 CONFIG.EXE that is packed with all
  2464.        [ Node Chat ].......This button takes you immediately into "Chat"
  2465.                            on a particular Node(x).
  2466.        [ Config Node ].....This will bring up the old CONFIG program for
  2467.                            a particular Node().
  2468.  
  2469. <ERRATA>                   **NOTE ME**  In CHAPTER 5-6 I discussed starting
  2470.                            S!X via both ACP and CONFIG(x), and the 
  2471.                            importance of maintaining both for many S!X
  2472.                            utilities and "Doors".  This command uses the
  2473.                            same V2.2 CONFIG.EXE that is packed with all
  2474.                            S!X Modular Install Packages.                                    
  2475.     
  2476.        [ Save Win ]........This comand =DOES NOT= require specifing a
  2477.                            NODE(x) complement.  Rather it merely saves
  2478.                            the current ACP window co-ordinates to a
  2479.                            file called S:ACP.config.  It is used to
  2480.                            "place ACP" on your WBench. 
  2481.  
  2482. <NO_DEF> Define new S!X V0.39u+ ScreenModes Operatios
  2483.        [ ScreenMode].......
  2484.  
  2485.  
  2486.        [ Set NRAMS]........This button will process a pre-configured ASCII    
  2487. <ERRATA>...non-functional  file of modem commands that you create and place   
  2488.            V0.39m4         in the node directory of each node.                
  2489.                                                                           
  2490.    NOTE: All of the above mentioned buttons unless said otherwise, require
  2491.    you to press the Appropriate node button for them to take effect.
  2492.  
  2493.  
  2494. 9. CHAPTER 9   S!X Extended Conferences SETUP
  2495.    ============================================
  2496.  
  2497. *************************************************************     
  2498. CHAPTER 9   S!X "Extended Conferences" SETUP                     
  2499. *************************************************************     
  2500.                                                                   
  2501.    Starting with S!X V0.39l(x), the number of possible conferences
  2502.    was increased to 25 by popular demand.  There will certainly be
  2503.    "REVISIONS" and "CHANGES" as this feature is expanded to either
  2504.    100 or totally unlimited conferences.
  2505.  
  2506.    Neverthless we wanted to provide a basic explanation of how the
  2507.    new features operated, and how you can set up "Extended Conferences"
  2508.    within S!X.
  2509.  
  2510.    1.  BBS:AreaNAMES -  This is a NEW DIRECTORY which you **MUST CREATE**
  2511.                         
  2512.        This Directory will hold all the "configurations" files which you
  2513.        will create, (ASCII text files), to allow for using Extended
  2514.        Conferences.  You can use any normal text editor to create these.
  2515.  
  2516.  
  2517.    2.  ***SPECIAL NOTES***  NAMING YOUR BBS:AreaNames/<strings>
  2518.  
  2519.        Most of you are familiar with the "X_X_X_XXX" patterns long used
  2520.        by both /X and S!X.  In these an X=ACCESS and _=NOACCESS.  
  2521.  
  2522.        a.  This is no longer ***GUARENTEED TRUE***.  You can still use
  2523.            the familiar "X_" patterns if you use (9) or less Conf(s), or
  2524.            you may chose to use the new "Name" pattern available via
  2525.            BBS:AreaNames/<strings>.
  2526.  
  2527.        b.  This using "Extended Conferences" ***MUST USE*** the new
  2528.            Directory:  BBS:AreaNames/<strings> to configure S!X for
  2529.            these new conferences.  However you can still use either
  2530.            the old familiar "X_" pattern or the new "Name" patterns.
  2531.  
  2532.        c.  Let me now show you all the various ways you can now configure
  2533.            S!X.
  2534.                *******PLEASE...PLEASE....PLEASE refer to the ACP.STARTUP
  2535.                       example in the manual and that came with your
  2536.                       "S!X Modular Install Package" in understanding
  2537.                       these new concepts to S!X BBS.
  2538.  
  2539.    3.  OLD "X_" PATTERNING of your ACP.STARTUP or BBS:AreaNames/"X_strings"
  2540.  
  2541.        a.  If you look in BBS:AreaNames/<strings> you will find some
  2542.            strange looking entries such as a file named "XXX_XXX_X":
  2543.  
  2544.            XXX_XXX_X -  YES...this looks amazing similar to what you are
  2545.                         used to seeing in your ACP EDITOR, SYSOP "1", or
  2546.                         in your ACP.STARTUP file.
  2547.                      
  2548.           **CAVEAT**    Let me stop much "confusion" immediated, as even
  2549.                         I was totally lost over setting this up.  The
  2550.                         names of the "files" you will be creating have
  2551.                         names such as XX______X  XXX___XXX  XXXXXX___.
  2552.                          
  2553.                         **FOR NOW** - Please make these names match
  2554.                                       EXACTLY to the strings you have
  2555.                                       in your ACP.STARTUP or CONFIG(X)
  2556.                                       files!!!!  Later I will explain
  2557.                                       how to create up to 256 different
  2558.                                       "configurations".
  2559.  
  2560.        b.  You will be "Editing" these strangly name files.  Look at the
  2561.            above example (i.e. XXX_XXX_X) and it's contents are:
  2562.  
  2563.            XXXXXXXXXXXXXXXXXXX_   This is an ASCII "string" of 20 char-
  2564.                                   aters, and tells S!X which conferences
  2565.                                   a user who's "P" field you see via
  2566.                                   ACCOUNT EDITING has access to among
  2567.                                   all **20 CONFERENCES** using the new
  2568.                                   "Extended Conferencing System".
  2569.        
  2570.            1.  Yes, it is confusing to have a file named "XXX_XXX_X";
  2571.                then find its contents to be another string of merely
  2572.                "XXXXXXXXXXXXXXXXXXX_" characters.
  2573.  
  2574.            2.  This is because S!X is no longer using the "X_" stored
  2575.                in USER.DATA or "PRESETS" to actually determine which
  2576.                Conferences you have access to.  Rather it is merely
  2577.                storing a <string> which corresponds to a file of
  2578.                ***EXACTLY THE SAME NAME*** in BBS:AreaNames/XXX_XXX_X.
  2579.  
  2580.                The ***ACTUAL ACCESSES*** are contained within the
  2581.                string (reading LEFT->RIGHT).  This is why you DO NOT
  2582.                WANT to have "odd chars", "spaces", or other things 
  2583.                except a simple "X_" pattern telling S!X which conferences
  2584.                to GIVE/EXCLUDE access for this user. 
  2585.                
  2586.     
  2587.        c.  I realize this may still be confusing, so let's look at the
  2588.            "New Name Method" of setting up your ACP.STARTUP "Presets"
  2589.            and BBS:AreaNames/<Names>
  2590.  
  2591.            ***AGAIN*** Refer carefully to the example in this manual
  2592.                        in the ACP.STARTUP CHAPTER, and the example
  2593.                        ACP.STARTUP that came with your "S!X Modular
  2594.                        Installation Package".
  2595.  
  2596.            1.  You will see "NAMES" which correspond to the entries
  2597.                I have ";" DISABLED in both ACP.STARTUP.  These are
  2598.                "Files", and each contains a <string> of characters.
  2599.                
  2600.                Let's examine the file named "COSYSOPS" which corresponds
  2601.                to the "XXX_XXX_X" example I used above explaining using
  2602.                the old stype "X_string" patterns.
  2603.  
  2604.                XXXXXXXXXXXXXXXXXXX_   This is an ASCII "string" of 20 char- 
  2605.                                       aters, and tells S!X which conferences
  2606.                                       a user who's "P" field you see via    
  2607.                                       ACCOUNT EDITING has access to among   
  2608.                                       all **20 CONFERENCES** using the new  
  2609.                                       "Extended Conferencing System".
  2610.  
  2611.                a.  **NOW PLEASE NOTE** Except for the different in the
  2612.                    <names> of "XXX_XXX_X"  VS  COSYSOPS that each file
  2613.                    has ***EXACTLY THE SAME*** contents.
  2614.  
  2615.            2.  Therefore either one will describe the CONFERENCE
  2616.                ACCESSES I wish to give a "XXX_XXX_X" or "COSYSOPS".
  2617.                   
  2618.  
  2619.  
  2620.    3.  "Recheck" BBS:Conf(s) and ACP.STARTUP to physcially insure that
  2621.        you have created the desired additional conferences.  Using my
  2622.        example ACP.STARTUP, you would have to create CONF(7) AmiEMULATORS
  2623.        thru CONF(20) InterNET. [ED NOTE....I didn't create all 25 as ran
  2624.        out of ideas].
  2625.        
  2626.        a.  This means you must have physically created these DIR(s), such
  2627.            as BBS:InterNET  BBS:Emulators.  It also means that you have
  2628.            created the required basic SubDirs within each Conf(x), such
  2629.            as HOLD, UPLOAD, and LCFiles; you also will need to create
  2630.            key conference files such as paths and ulpaths.
  2631.  
  2632.        b.  Review your "S!X Modular Installation Package"!!!!  I have
  2633.            created (20) working conference 'skeletons' for you.  You can
  2634.            change the names of these to your tastes as all the critical
  2635.            paths and ulpaths were configured to work totally within your
  2636.            BBS:  Later you can edit these, adding additional paths, ulpaths,
  2637.            or other options you might wish to enhance your system.
  2638.  
  2639.    4.  "Creating New Extended Config Files"
  2640.  
  2641.        a.  FIRST - look at the **SIX (6) EXAMPLES that came with your
  2642.                    S!X Modular Installation Package.  These correspond
  2643.                    to your (6) presets used in ACP.STARTUP and ACCOUNT
  2644.                    EDITING.
  2645.            
  2646.            They are plain ASCII files.  You merely decide which conferences
  2647.            you wish the person to have access, and type in the corresponding
  2648.            "X_" pattern.  ****REMEMBER TO START AT COL#1****.  After you
  2649.            ender your string, merely hit RETURN.  Then save this file.
  2650.        
  2651.            Continue creating your (6) Presets in this fashion, using the
  2652.            examples in your "S!X Modular Installation Package" as examples.
  2653.  
  2654.        b.  SECOND PHASE -  Creating "Custom Configurations"
  2655.            
  2656.            There may be cases where your (6) ACP.STARTUP or ACCOUNT EDITING
  2657.            presets may not be enough options when using "Extended Conf(s)."
  2658.            
  2659.            1.  Therefore we have created a way for you to create up to 256 
  2660.                totally different configurations, to allow you the most
  2661.                flexibility in granting accesses to various conferences.
  2662.                
  2663.            2.  You can create within BBS:Areanames/<file> a new file of
  2664.                ***ANY PATTERN*** so long as:
  2665.                a.  It is (9) chars using only "X" and "_"
  2666.                b.  Inside each file you edit a  <string> which is correct
  2667.                    for the accesses you wish this "X_" file to represent.
  2668.            
  2669.            3.  ***HINT***  "Advanced" DOS users will recognize this as 
  2670.                equal to the binary 2*n type equation.  Starting with a
  2671.                pattern of _________ and ending with XXXXXXXXX there are
  2672.                256 possible combinations.
  2673.     
  2674.            ===========================================================
  2675.            ******NOW A WORD OF CAUTION or UNDERSTANDING....maybe just
  2676.            sheer confusion but I'll try to explain coherently******** 
  2677.          
  2678.            4. S!X determines "Access" level in the following priority:
  2679.               
  2680.               1.  GET USER'S "X_" PATTERN....as you log on it looks
  2681.                                              at USER.DATA and gets
  2682.                                              this (9) char "X_" pattern.
  2683.               2.  IF EXISTS BBS:Areanames/<user "X_" pattern....
  2684.              
  2685.                   +++++++PAY ATTENTION....WAKE UP....GET SOME COFFEE!!!++++
  2686.  
  2687.                   It doesn't matter "one-teeny-bit" what pattern from 
  2688.                   among the (256) possible you give a user ***IF*** you
  2689.                   have a corresponding file in BBS:AreaNames/"This pattern".
  2690.                   
  2691.                   TRUE  =  The all "CONFERENCE ACCESSES" will be determined
  2692.                            TOTALLY and COMPLETELY from whatever you have
  2693.                            put in that particular file.
  2694.                   FALSE =  Then use the "X_" pattern in his USER.DATA to
  2695.                            determine which areas user has access to.
  2696.              
  2697.               3.  In other words, if there IS NOT "Matching Pattern" to his
  2698.                   USER.DATA in BBS:AreaNames/<patterns> it will use the
  2699.                   (9) character string from USER.DATA........and you are
  2700.                   automatically saying this user can not use any of your
  2701.                   "Extended Conferences"
  2702.               
  2703.               4.  If there IS a "Match" between the USER.DATA and any 
  2704.                   entry in BBS:AreaNames/<patterns>.....then all the
  2705.                   user's accesses are determined from the file in
  2706.                   BBS:AreaNames/<user's pattern>.  The (9) characters
  2707.                   in his USER.DATA mean absolutely nothing as far as
  2708.                   access.........it is only one of the 256 possible
  2709.                   combinations we use.
  2710.  
  2711.    5.  ***BUT***.....Which way should I "Configure" S!X ??  Which is
  2712.                      the best way ??
  2713.  
  2714.        There is no "simplistic" answer.  Let me say that I **PERSONALLY**
  2715.        favor using the old "X_" patterns (which I will explain), while
  2716.        others will prefer the new "Names".
  2717.  
  2718.  
  2719.        a.  Using the old "X_" patterns will limit you to 256 MAXIMUM
  2720.            different configurations.  ( Those knowing "Binary" or
  2721.            "Programming" will recognize this as a 2*n where n=9)
  2722.  
  2723.            While I can't imagine 256 different combinations (most folks
  2724.            do not have 256 "Active Users"), it still is a limitation.
  2725.  
  2726.        b.  The old "X_" patterns are like reading Egyptina "hierogliphics"
  2727.            and no one could remember all the patterns!!!!
  2728.  
  2729.            NO!!!  This is not some deep, dark, diabolical plan we 
  2730.                   incorporated into S!X for **SECURITY***....nor to
  2731.                   drive you "crazy".....and certainly not to "Encrypt"
  2732.                   your S!X as Mr. Hodge did with his USER.DATA/KEYS.
  2733.  
  2734.            YES!!  It is a simple way to maintain your old "X_" patterns
  2735.                   for the original 9 Conf(s), yet extend them to 25+
  2736.                   providing you make the entries correctly
  2737.  
  2738.                   ***NOTE*** In the "examples" they DO NOT CORRESPOND
  2739.                              CORRECTLY.  I would have to edit them to
  2740.                              do so.
  2741.  
  2742.                   1.  EXAMPLE:  IF I EDITED  XXX______ and changed the
  2743.                                 string to:   XXX______X_XXX_XXX_XX or
  2744.                                 something similar, then both the string
  2745.                                 in my USER.DATA and AREANAMES would in
  2746.                                 fact "Match" for the first 9 conferences.
  2747.  
  2748.        c.  This is the real **ADVANTAGE** of using the old "X_" patterns.
  2749.              
  2750.            There are litterally "thousands" of "DOORS" which have been
  2751.            written which can be used with S!X.  Many of these get their
  2752.            information from the X_ fields, such as many of the "Stats"
  2753.            type doors.  They **ARE NOT** going to understand "Name"
  2754.            entries in your USER.DATA such as: Tom, MaPals, \/\/h0, and
  2755.            similar entries.  ***THIS IS WHY I USE THE "old" pattern.
  2756.  
  2757.        d.  The new "NAMES" patterns allows you to use the first 
  2758.            9 chars of a user's name, or certain "Pre-Defined Names"
  2759.            with almost limitless combinations.  
  2760.  
  2761.            EXMAPLES:  NewUsers, CoSYSOPS, MSDosUser, MACuser,
  2762.                       InterNETS, "Tommie", "Doc", "The_Dog"
  2763.  
  2764.            1.  The ***Doc*** example.
  2765.  
  2766.                Included in your S!X Modular Install Package in the
  2767.                BBS:AreaNames dir is a file called "Doc".
  2768.                a.  Open you ACCOUNT EDITOR and hit "P" on your
  2769.                    "S!X" SLOT#1 sample SysOP account.
  2770.                b.  Enter: "Doc      " RETURN
  2771.               
  2772.            2.  Now if you do a "Local LogON" you will find you have
  2773.                access to all the **ODD_NUMBERED CONFERENCES**, but
  2774.                no access to "even-numbers".  I did this just as an
  2775.                example to show you how it works.
  2776.  
  2777.            3.  You can even make a file <**GRINS**> called either
  2778.                "NONE" or "_________".  If you edit this file in
  2779.                BBS:Areanames/<NONE|_________> to the following:
  2780.                 
  2781.                              XXXXXXXXXXXXXXXXXXXX
  2782.  
  2783.                a.  BOY!!!!  Maybe this is some diabolical scheme to 
  2784.                             confuse either YOU or potential "Hackers".
  2785.               
  2786.                    It would appear the gent has absolutely NO ACCESS
  2787.                    WHATSOEVER......when in fact he has access to
  2788.                    "Every Darn Conference" on my BBS!!
  2789.  
  2790.                b.  Ahhh.....let's not see some "goof-ball hacks" out
  2791.                             there really try such stupidity.  IF YOU
  2792.                             DO ***I PROMISE*** WE'LL JUST CHANGE THIS
  2793.                             AND NOT GIVE YOU SO MUCH FREEDOM!!!!!
  2794.  
  2795.    5.  I realize all this is new, and DARN CONFUSING.  It took me
  2796.        3-4 InterNET E-Mails to Steve and Chris to understand all the
  2797.        options and get just this "Rough Draft" of this section done
  2798.        in the manual.  I can't say, "If all else fails...read the
  2799.        docs" (BECAUSE I'M THE "Confusion" THAT WROTE THEM).
  2800.        
  2801.        SO if you are still lost in CHAPTER 9, call any of the S!X
  2802.           Support Systems or "me" and we'll work it all out.    
  2803.           
  2804.  
  2805. 10. CHAPTER 10 - Editing Accounts with S!X ACCOUNT EDITOR
  2806.     =====================================================
  2807.  
  2808. *************************************************************
  2809. CHAPTER 10 - Editing Accounts with S!X ACCOUNT EDITOR  
  2810. *************************************************************
  2811.  
  2812.    You may access the S!X ACCOUNT EDITOR from any of the following means:
  2813.  
  2814.    1.  ACP -        1> Press the Accounts button
  2815.                 2> Press the NODE 0 button
  2816.    2. AWAITSCREEN - This is the Display Screen showing for any "active"
  2817.                     S!X Node(x) while awaiting a caller:               
  2818.                     Press:  F6 
  2819.    3. "ONLINE"-     While actively on any S!X Node(x), you may access
  2820.                     "Account Editor" by entering "1" at any PROMPT.
  2821.  
  2822.        No matter which way you access "S!X Account Editor", you should see
  2823.        the following:
  2824.         -------------------------------------
  2825.     S>earch by name  N>ew account editing 
  2826.     Edit which account?
  2827.         -------------------------------------
  2828.  
  2829.         a.  Entering "S" will bring up a PROMPT asking for the "UserName".
  2830.             You can use (*) WILDCARDING,  Do*  to find  Doc
  2831.                                           Sig* to find  Sigma SEVEN!
  2832.             If more than one account is located via (*) WILDCARDING, S!X
  2833.             will ask if this is the correct account, or prompt you for
  2834.             the next account matching your WILDCARD pattern.
  2835.         b.  Entering "N" searches for **NEW ACCOUNTS** by reading the
  2836.             "S" field withing the S!X Account Editor.  These would be
  2837.             new callers you have not validated.
  2838.             1.  You **MUST** validate all new accounts.  The "S" flag stays
  2839.                 as =NEW= even though the caller may make several calls
  2840.                 to your system.
  2841.             2.  S!X Account Editor will continue searching for NEW CALLERS
  2842.                 until no new are found by repeating this process to
  2843.                 validate new members.
  2844.         c.  Entering any valid ACCOUNT NUMBER will immediately switch
  2845.             S!X Account Editor to this account.
  2846.             1.  This can sometimes be "difficult", as you will not likely
  2847.                 remember every user's "Account Number".
  2848.  
  2849.    In learning how to use S!X Account Editor, let's enter "1" for the
  2850.    ==SYSOP ACCOUNT==.  This account should have the name:  S!X  for those
  2851.    working with an S!X Modular Install Package.
  2852.  
  2853.    You now should see about a 19 line screen with the following information:
  2854.  
  2855. <KORECT>  S!X V0.39S-U now used the commands: >T< and >Z< for control
  2856.           of Relative Conference Accounting.  For now see REVISION.DOC
  2857.           until I can update the manual.
  2858.  
  2859.    -------------------------------------------------------------------------
  2860.    User Number ........: [1  ][Active] Baud Rate .............: 11264          
  2861.                                                                                 
  2862.    A) Handle ..........: S!X                                                       
  2863.    B) Location ........: S!X Development                                          
  2864.    C) Password ........: password                               (123456789)    
  2865.    D) Phone Number ....: 614-855-3114   P) Conference Access ..: XXXXXXXXX     
  2866.    E) Ratio ...........: 5              Q) Security Level .....: 255           
  2867.    F) Ratio Type ......: 0     <-Byte)  R) Auto ReJoin ........: 1             
  2868.    G) Uploads .........: 0              S) New User ...........: No            
  2869.    H) Downloads .......: 0              T) Conf Accounting.....: BBS Defaults                                     
  2870.    I) Upload Bytes ....: 0              U) Total Calls ........: 1          
  2871.    J) Download Bytes ..: 0              V) ANSI ...............: ASK           
  2872.    K) Byte Limit ......: 99999999       W) Time Limit (Mins) ..: 1666          
  2873.    L) **RESERVED**.....: 99999999       X) Time Used  (Mins) ..: 0             
  2874.    M) Upload CPS ......: 0              Y) Computer Type ......: Amiga 2000    
  2875.    N) Download CPS ....: 0              Z) Conference Accounting                                        
  2876.    O) Messages ........: 2           Last Called : Thu Feb 02 00:17:45 1995
  2877.  
  2878.    !=EXIT-NOSAVE TAB=Cont ~=SAVE 1-6=Presets 9=RE-ACTIVATE DEL=DELETE          
  2879.    Use '?' to show this Users Questionaire!                                       
  2880.   [S] - Search by name, [N] - New account editing                                 
  2881.   Edit which account? (Number or Option):>
  2882.   --------------------------------------------------------------------------
  2883.   --------------------------------------------------------------------------
  2884.  
  2885.  
  2886.    ****GENERAL RULES OF ACCOUNT EDITING****
  2887.    
  2888.    S!X used what are called "Universal Keyboard Syntax Commands".  Generally
  2889.    this means that any command I describe in one section of the manual works
  2890.    throughout S!X whether it is the ACCOUNT EDITOR, E-MAIL, or other areas.
  2891.    
  2892.    S!X also uses "Command Stacking", meaning it is very similar to your
  2893.    DOS CLI/SHELL environment where you can enter a command with many 
  2894.    qualifiers or "flags".  Just remember these (2) facts as you read
  2895.    throughout the manual.........it "usually works" everywhere the same to
  2896.                                  make it easy to run, call, or maintain an
  2897.                                  S!X System.
  2898.  
  2899.    EXAMPLE "KEYBOARD COMMANDS":  CTRL-X=delete line
  2900.                                  DEL|BACKSPACE=delete character
  2901.    EXAMPLE "COMMAND STACKING" :  N -10 3= NewFiles in Dir(x) last 10 days
  2902.   
  2903.    Having said the above.....let's move on into actual "Editing".
  2904.  ---------------------------------------------------------------------------
  2905.  ---------------------------------------------------------------------------
  2906.  
  2907.    "A"  ACCOUNT_NAME
  2908.         This is the name that everyone will know that person as, the name
  2909.         to which E-Mail will be SENT/RECEIVED, and the name for any other
  2910.         "Doors" or statistics will refer.
  2911.  
  2912.         1.  It is a good practice not to let people change their name
  2913.             themselves.  [SEE "W" Command in manual]  It will cause many
  2914.             commands to malfuction, (i.e. "Mail"), it will cause you and
  2915.             other constant confusion ("who" is the person), and is a very
  2916.             poor general practice.
  2917.         2.  It is also a "Poor Practice" to have many so-called **SPECIAL
  2918.             CHARATERS** in a name:s \/\/ølfmæn.  This makes it difficult
  2919.             to remember or enter the name.  Some international callers may
  2920.             not even have the correct characters in their keymaps.
  2921.  
  2922.         3.  The PROMTP> will appear at the end of whatever string is entered.
  2923.             You can use either the BACKSPACE|DEL to erase a single character
  2924.             or CTRL-X to erase the either entry.
  2925.         
  2926.    "B"  ACCOUNT_LOCATION
  2927.         This is the "home location" of this user.  Normally it is either
  2928.         a City/State or City/Country; it can be the user's BBS Name for
  2929.         other "Guests" which are also SysOPs.  This can be quite interesting
  2930.         information to show the variety of callers on your system, their
  2931.         locations from a few city blocks to "Globally". 
  2932.  
  2933.    "C"  ACCOUNT_PASSWORD
  2934.         This is sensitive ***SECURITY INFORMATION***.  Anyone who has the
  2935.         ACCOUNT_NAME and his ACCOUNT_PASSWORD can enter the system.
  2936.         
  2937.         1.  **EXCEPTION**  PHONECHECK is a "2nd password check" which S!X
  2938.             offers requiring the caller to know the LAST_4_DIGITS of his
  2939.             phone number.  I strongly suggest you use this option.
  2940.             [SEE: PHONECHECK in S!X Manual]
  2941.         2.  People should be encouraged not to use "common names" and to
  2942.             change PASSWORDS often.  This is responsible for 35%+- of 
  2943.             illegal "hacks" to a system.
  2944.  
  2945.    "D"  PHONE_NUMBER
  2946.         Again, you should require a "valid #" for all your users.  There are
  2947.         both systems and users who do not want to give valid numbers; I 
  2948.         can't suggest enough just letting them call elsewhere.  Remember
  2949.         that USA is normally designated as 614-855-3114, whereas inter-
  2950.         national is +49 573 140094, being COUNTRY, CITY, INDEX.  However,
  2951.         you may have to leave out the " " and just use +49573140094.
  2952.  
  2953.    "E"  RATIO
  2954.         This is the RATIO which the user must maintain to DOWNLOAD; I
  2955.         intentionally did not include "Upload" as there is **NEVER** a
  2956.         restriction on how many files someone can upload except your
  2957.         amount of storage and the user's ACCESS_LEVEL which is explained
  2958.         in ACP.STARTUP, Chapter 4-5.
  2959.  
  2960.         There are (2) different ways of setting ratios with S!X:
  2961.          
  2962.         "0"    -  This is ***DISABLED***.  Any user set to "0" can
  2963.                   download an UNLIMITED amount of either FILES, BYTES,
  2964.                   or FILES & BYTES limited only by his DAILY_TIME_LIMIT
  2965.                   and DAILY_BYTE_LIMIT which you defined in ACP.STARTUP
  2966.                   or CONFIG(x).
  2967.         "1-###"-  This can be a ratio of either FILES, BYTES, or a
  2968.                   combination of FILES & BYTES to those he has uploaded.
  2969.                   It can be any value from 1 - 99999, although value
  2970.                   beyond 20 are impractical and should probably just
  2971.                   be a "0" for DISABLED.
  2972.  
  2973.         Your RATIO works in conjuction with RATIO TYPE (following), but
  2974.         is always a standard math ratio such as 1:5  or 1:3, except that
  2975.         both BYTES & FILES have special considerations.
  2976.  
  2977.    "F"  RATIO TYPE
  2978.  
  2979.         This will define how you will measure users' uploads against their
  2980.         downloads.  COMMON USAGE is "Bytes", but you have these choices.
  2981.  
  2982.         "0"    -  BYTES which will compare the actual #BYTES_UPLOADED to
  2983.                   the #BYTES_DOWNLOADED, so a user with 1MEG uploaded and
  2984.                   a ratio of 5:1......would be able to D/L 5MEGS.
  2985.                   
  2986.                   This option counts **ONLY BYTES**.  He can UPLOAD 1 file
  2987.                   of 1MEG, yet D/L 1000 files so long as the TOTAL BYTES
  2988.                   is equal or less to 5MEGS.
  2989.  
  2990.         "1"    -  BYTES & FILES is the "most restrictive" way to configure
  2991.                   S!X.  This required the user to maintain the proper
  2992.                   RATIO of "both" files and bytes.  He could upload 5 files
  2993.                   totally 1MEG, but could only D/L 25 files of 10K each.
  2994.                   
  2995.                   This is not "Commonly Used" as it seems to penalize folks
  2996.                   who D/L many small UTILITIES, "Doors", MODS, PIX, and 
  2997.                   other files but may U/L many large files to your system.
  2998.                   (We DO NOT suggest using this....)
  2999.  
  3000.         "2"    -  FILES is the "most generous", depending on whom you
  3001.                   discuss the issue.  Here a user could literally UPLOAD
  3002.                   1 file of 10bytes (his name in a text file), yet D/L
  3003.                   5 files of perhaps 1.4MEGS each (TOTAL 7MEGS).   
  3004.  
  3005.                   This was used in older BBS and some "Pay Nets", but we
  3006.                   do not suggest it due to many possible abuses.                      
  3007.  
  3008.    "G"  NUMBER UPLOADS
  3009.  
  3010.         This is the physical NUMBER_OF_FILES the user has uploaded to your
  3011.         S!X BBS.  It may|maynot be used in computing the user's RATIO, but
  3012.         is often used by many "Doors" in displaying interesting statistics
  3013.         on your system's activity.  The field can be edited to allow the
  3014.         SysOP to credit users for files which might have been "/" PRIVATE
  3015.         UPLOADS or even files mailed in so-called "Disk Exchanges.
  3016.  
  3017.    "H"  NUMBER DOWNLOADS
  3018.         
  3019.         This is the same as "G", except it measures the physical NUMBER_OF_
  3020.         FILES the user has downloaded from your system
  3021.  
  3022.    "I"  UPLOADED BYTES
  3023.  
  3024.         This is probably the field you and users will monitor most often.
  3025.         It tells you the actual "BYTES" uploaded to your system, and it
  3026.         used with both RATIO and RATIO TYPE on most S!X BBS to determine
  3027.         how much a user can D/L from your system.  It is also used in
  3028.         a variety of "Doors" displaying stats.
  3029.         
  3030.         1.  An "extremely active" user can literally overload the "I"
  3031.             field, although this is a rare situation.  In case of a
  3032.             high RATIO and a user with say 600MEGS of upload bytes, you
  3033.             can exceed what is called a ULONG to programmers (about 2.2+
  3034.             GigaBytes).....I mention this strictly in passing in case
  3035.                            anyone has such a user and his account
  3036.                            develops strange "bugs".
  3037.  
  3038.    "J"  DOWNLOADED BYTES
  3039.  
  3040.         This is the NUMBER_OF_BYTES the user has D/Led from your system.
  3041.         It is controlled by RATIO, RATIO TYPE, and DAILY_BYTE_LIMIT.
  3042.         (Again there is **NEVER A LIMIT** on U/L activities).
  3043.         
  3044.         The user must maintain his DOWNLOAD BYTES within the ratio you
  3045.         have established, unless you use the "Files Only" method of
  3046.         determining RATIO on you S!X BBS.
  3047.  
  3048.    "K"  DAILY_BYTE_LIMIT
  3049.  
  3050.         This command should be set with some thought.  Previously it
  3051.         was used to limit the MAX NUMBER BYTES a user could D/L in any
  3052.         given "day", and was in the range of 2-5megs with older 2400 -
  3053.         9600bps modems.  
  3054.          
  3055.         Today with high-speed V.32 and V.34 you should use a formula
  3056.         which I described earlier:  DAILY_TIME(secs) x MODEM'S HIGHEST
  3057.         SPEED (bps/sec) = DAILY_BYTE_LIMIT.  In practical explanation
  3058.         a 14.4 can do @ 6MEGS/HR; a 28.8 can do @12-13MEGS/HR.  So chose
  3059.         this value, and the user's DAILY_TIME_LIMIT with thought so
  3060.         people do not waste their time nor system resources.
  3061.  
  3062.    "L"  ****RESERVED*** - for future use
  3063.  
  3064.    "M"  UPLOAD CPS
  3065.  
  3066.         This is of use primarily for statistical "Doors" and also to
  3067.         often check against a user's *ANSWERS* to see if there is any
  3068.         problems in "upload/download speeds".  It records the highest
  3069.         CPS which this user was able to achieve calling your system
  3070.  
  3071.    "N"  DOWNLOAD CPS
  3072.  
  3073.         A "mirror" of UPLOAD CPS, this field records the user's fastest
  3074.         speed (cps) in downloading from your system.
  3075.  
  3076.    "O"  MESSAGES POSTED
  3077.  
  3078.         This field is used by many SysOPS to promote more than just
  3079.         U/D activity on their systems.  There are numerous S!X "Doors"
  3080.         which do statistic reports of message activity, and a few
  3081.         "Doors" which will not allow U/D activities unless a user
  3082.         maintains a certain "MESSAGE_LEVEL_ACTIVITY" on the system.
  3083.  
  3084.         1,  "Rebuilding" a MsgBASE ***SHOULD NOT*** alter this field !!!
  3085.             This is a historical entry for this user's account, and I've
  3086.             only see one S!X util which wrongly changed this entry.
  3087.  
  3088.    "P"  CONFERENCE ACCESS
  3089.  
  3090.         [ READ CHAPTER 9.....thoroughly and completely!!!!! ]
  3091.         [ READ CHAPTER 4-5...regarding ACP.STARTUP and CONFIG(x) ]
  3092.        
  3093.         Starting with V0.39l(x) of S!X, you can now have "Extended
  3094.         Conferences.
  3095.  
  3096.         1.  If you have nine (9) or less conferences, you can use
  3097.             "P" in conjunction with the values you set in either
  3098.             ACP.STARTUP or CONFIG(x) to have "PRESETS" which will
  3099.             reflect ***ACTUAL CONF(x) ACCESS*** for the user.
  3100.  
  3101.         2.  If you use "Extended Conferences" you must be very careful
  3102.             in using the "P" command.  You can use it to define the
  3103.             ***ACTUAL CONF(x) ACCESS*** or to define some "X_" file
  3104.             definition in BBS:AreaNames/"X_patterns" for your
  3105.             "Extended Conferences.
  3106.  
  3107.         3.  You can edit this manually.  X=ACCESS  _=ACCESS "disabled".
  3108.             
  3109.             Again I **CAUTION EVERYONE***.  Read the chapters regarding
  3110.             ACP.STARTUP, CONFIG, and "Extended Conference" to avoid
  3111.             confusion, problems, and failures.
  3112.  
  3113.    "Q"  SECURITY ACCESS LEVEL
  3114.  
  3115.         This is the "LEVEL" of security you assign each user.  Understand
  3116.         that this level controls ****MANY FACTORS**** such as access to
  3117.         "Doors", SysOP access, and other functions.  You previously defined
  3118.         various levels in your (6) ACP.STARTUP "Presets".
  3119.  
  3120. <NO_DEF>  "Lockout" texts....within "Q"  Sorry, but I will try to write
  3121.                              how to better use ACCESS=0-2 in a later
  3122.                              revision.  First let me explain as much of
  3123.                              the basics....then the "Glitz!!"
  3124.  
  3125.         1.  Normally levels 10-199 are for "Normal Users", the higher 
  3126.             numbers being either a designation or REWARD to your better
  3127.             users
  3128.  
  3129.         2.  LEVEL=200 - 250   Normally **SysOP FUNCTIONS** began at access
  3130.                               LEVEL=200, such as EALL.  Many "Doors" you
  3131.                               use will come with pre-defined values in the
  3132.                               range of 200-250 for the SysOP control
  3133.                               values.
  3134.         3.  LEVEL=255         This is usually only for SLOT#1 or "You"
  3135.                               for **SECURITY REASONS**.  You may have 1-2
  3136.                               other EXTREMELY WELL-TRUSTED PEOPLE, or
  3137.                               "Co-Sysops", at this level.  Again I can
  3138.                               not urge *CAUTION* enough as 65% of "breakins"
  3139.                               are traced to "Co-SysOP" accesses.
  3140.  
  3141.    "R"  AUTO-REJOIN CONFERENCE
  3142.         
  3143.         This number defines the Conf(x)  the user will rejoin automatically
  3144.         in logging onto S!X.  It is not ofter normally changed by the SysOP,
  3145.         but could be if he wanted you to notice a certain BULLETIN or asked
  3146.         that you D/L a certain file.
  3147.  
  3148.    "S"  NEW USER
  3149.  
  3150.         This field tells whether the user has been "Validated" by the SysOP.
  3151.         
  3152.         1.  "New Users" will remain new until you (the "SysOP") do something
  3153.             with the ACCOUNT EDITOR!!!  Until you "Save" their account, they
  3154.             maintain "new" status, if that is 5 years from now.
  3155.             
  3156.             This was added to allow you a chance to read the user's 
  3157.             application and see how he acts on your system, or you may
  3158.             chose to wait until he uploads a few files or posts some
  3159.             messages.
  3160.         
  3161.         2.  "Auto-Validation"  Many S!X SysOPS will chose to "auto-validate"
  3162.             users.  This means setting your PRESETS so the user has access
  3163.             to your basic conferences and commands, i.e. LEVEL 10-40.  In
  3164.             this way he does not have to make several calls to actually use
  3165.             your system, and you get a chance to "Wait-n-See" before 
  3166.             finally deciding whether he should have a permanent account on
  3167.             your system.   
  3168.  
  3169.      
  3170. <KORECT>    Now used for RELATIVE CONF.....see REVISION DOC
  3171.  
  3172.    "T"  CONFERENCE ACCOUNTING
  3173.  
  3174.         This is an "OverRide Function" for INDIVIDUAL USERS.  Generally
  3175.         whether you use RELATIVE CONFERENCE ACCOUNTING is determined
  3176.         in your ACP.STARTUP, but sometimes you may want individual
  3177.         users which are good supporters not being forced into having
  3178.         to maintain ratios in EACH Conf().
  3179.  
  3180.         Hitting "T" will bring forth (3) options:
  3181.  
  3182.         Choose one of the following Options:              
  3183.                                                   
  3184.         0. Default to BBS Configured Conference Accounting
  3185.         1. Override Conference Accounting to YES / ON     
  3186.         2. Override Conference Accounting to NO / OFF
  3187.  
  3188.    "U"  TOTAL TIMES CALLED
  3189.  
  3190.         This shows the total number of times this user has logged onto
  3191.         your S!X BBS.  As long as you maintain the integrity of your
  3192.         BBS:USER.DATA and BBS:USER.KEY files, you can safely upgrade
  3193.         from V2.0 - V4.9 of /X  or any S!X  without losing any information.
  3194.         
  3195.         [Ed Note:  Maybe I should repead that elsewhere, but for now let
  3196.                    me reiterate that any "revision" of /X or S!X to a
  3197.                    new S!X will not destroy or alter ****ANY***** of the
  3198.                    fields in your USER.DATA or USER.KEY files !!!!      ]
  3199.  
  3200.    "V"  DO YOU WANT TO USE ANSI 
  3201.  
  3202.         Here you have (3) choices
  3203.         
  3204.         1.  NO -  This will convert S!X to a "Black-n-White" 1-BITPLANE
  3205.                   mode.  In this mode S!X automatically filters all ANSI
  3206.                   sequences (i.e. ESC[44;31m"Hi S!X") showing only
  3207.                   plain text.  This mode is used by folks having terms
  3208.                   not supporting COLOR or a few claiming that 1-BITPLANE
  3209.                   mode improves file transfer performance.  
  3210.                   
  3211.         2.  ASK-  Upon "Logon" the user has the option of chosing either
  3212.                   YES or NO, meaning to use or not use ANSI.
  3213.  
  3214.         3.  YES-  Using ANSI mode displays all normal ANSI sequences for
  3215.                   Amiga.  You should be able to see "8-color-mode" with
  3216.                   "bold/underline/italic", and ANSI sequences which seem
  3217.                   to "draw" text written graphics on your screen.
  3218.         
  3219.                   Personally, I always use ANSI.  In calling a S!X BBS
  3220.                   part of the excitment is seeing the highly colored texts,
  3221.                   bulls, dirs, and screens SysOPS take many hours to
  3222.                   create.  Calling a dull "Plain Janer" is borish!!
  3223.  
  3224.    "W"  DAILY TIME LIMIT
  3225.  
  3226.         This displays how long a user may be on your S!X daily, and computes
  3227.         from 12:00AM (Midnight) until 11:59PM of the same day.  The display
  3228.         is in "MINUTES", meaning that a limit of '120' equals 2 HOURS 0 MIN.
  3229.  
  3230.         1.  You should give users "realistic values" considering the
  3231.             following factors from the experiences of many SysOPS:
  3232.              
  3233.             a.  Number of Nodes - obvious if you are "multi-noded" you
  3234.                                   can have more users that a 1-modem BBS.
  3235.             b.  Number of Users - can everyone call you without having to
  3236.                                   "wardial" for hours
  3237.             c.  RATIOS/ACTIVITY - compared to other users, how much of your
  3238.                                   system's daily time should this one person
  3239.                                   enjoy.
  3240.             
  3241.             There are obviously other factors, but I wanted to make you
  3242.             think of your S!X BBS as a "resource".  Just like your wallet
  3243.             it is normally "finite"; you should allocate your resources as
  3244.             will best serve your basic ideas and the most possible people
  3245.             effectively.
  3246.  
  3247.    "X"  DAILY TIME USED
  3248.  
  3249.         If the user has not logged on today, this value should be "0".  If
  3250.         he has called your system, it will display the TOTAL NUMBER MINUTES
  3251.         he has used during "today".
  3252.         
  3253.         1.  Occasionally, SysOP's will clear this field to "0" for a user
  3254.             who is doing "heavy work" which is valuable to the SysOP or
  3255.             because a user needs extra time to make unusually large D/Ls.
  3256.             
  3257.             A few "Doors" exist which allow users to put extra time in a
  3258.             **BANK** from which they can withdrawl and use extra time on
  3259.             days when they need more than normal. (e.g. Tarheel's Timebank).
  3260.  
  3261.    "Y"  COMPUTER TYPE
  3262.  
  3263.         This command works with your BBS:BBstexts/ComputerList file.  It
  3264.         was answered by the user when he first applied, or in using the "W"
  3265.         command to update this information.  However a SysOP can edit this
  3266.         field to help a new user or change faulty information, or when he
  3267.         has "edited" the BBS:BBStexts/ComputerList file to list new
  3268.         entries or deletions.
  3269.    
  3270. <KORECT>  Now used with the RELATIVE CONF SYSTEM....See REVISION DOC
  3271.  
  3272.    "Z"  An EARLY implementation of Conference_Accounting_Editing now
  3273.         exists.  Simply hit the "Z" and you get the internal editor.
  3274.         How it basically works:
  3275.         1.  Select the Conf() you wish to edit such as:
  3276.             0  Ami        1   PC       2   MAC
  3277.         2.  The enter the "field" you wish to edit as shown:
  3278.             1) Files Uploaded...: 11      
  3279.             2) Files D`loaded...: 0       
  3280.             3) Bytes Downloaded.: 0       
  3281.             4) Bytes Uploaded...: 58493945
  3282.             0) QUIT (with SAVE)           
  3283.             9) QUIT (without SAVE)
  3284.         3.  Then enter the NEW VALUE for that "Field"
  3285.         
  3286.         4.  When finished editing, select either "0" (SAVE) or "9" (NO SAVE)
  3287.             to return to the main ACCOUNT EDITOR.
  3288.  
  3289.  
  3290.    =========================================================================
  3291.    =========================================================================
  3292.    We now have finished covering the basic information you can change
  3293.    regarding any user's account.  Once you are finished editing the
  3294.    account, you obviously want to either SAVE, NOT SAVE, DELETE USER, or
  3295.    do something with the information you edited.
  3296.  
  3297.    You will see the following OPTIONS:
  3298.  
  3299.    !=EXIT-NOSAVE TAB=Cont ~=SAVE 1-6=Presets 9=RE-ACTIVATE DEL=DELETE
  3300.    Use '?' to show this Users Questionaire!
  3301.  
  3302.    "!"     This is "SHIFT-1" on a USA keyboard or the "!" EXCLAMATION KEY.
  3303.            You will exit from the user's account and no changes will be saved.
  3304.  
  3305.            It is used primary as a "look-up" of an account for information
  3306.            without actually wanting to edit the account.
  3307.  
  3308.    "TAB"   This is your "TAB" key.  It takes you back to the prompt asking
  3309.            for either an ACCOUNT # or hitting "S" to search for a user's
  3310.            name by <string> method.
  3311.  
  3312.    "~"     This is "SHIFT-`" or TILDE or sometimes called "wave" key.  It
  3313.            causes all "editing" into the user's account to be saved.
  3314.  
  3315.            1.  EXCEPTION:  A "Co-SysOP" nor even the "SysOP" can edit
  3316.                            his own account from activating the ACCOUNT
  3317.                            EDITOR using the "1" command
  3318.              
  3319.                            SLOT#1 "You" can not edit your account EXCEPT
  3320.                                   and ONLY from the "F6" key directly
  3321.                                   from your keyboard....it ***CAN NOT***
  3322.                                   be done while "Online" S!X
  3323.  
  3324.                These exceptions are for obvious ***SECURITY REASONS*** so
  3325.                no one having SysOP access could delete the SLOT#1 or change
  3326.                his access, give a "Co-SysOP" better access, or other changes
  3327.                which violate the basic concepts of good system security.
  3328.  
  3329.                Obviously LEVEL=255 can edit LEVEL=250; LEVEL=200 in turn can
  3330.                edit LEVEL=40 accounts.  But you can't have a "Co-SysOP"
  3331.                LEVEL=200 going and "Deleting" a LEVEL=255 account.
  3332.  
  3333.    "1-6"   These will use the "PRESETS" defined you your ACP.STARTUPS to
  3334.            preset many of the fields of a user's account such as DAILY TIME,
  3335.            ACCESS LEVEL, RATIO, and other fields.  [SEE CHAPTERS ON
  3336.            ACP.START and CONFIG(x)].
  3337.  
  3338.            1.  "Extended Conferences" if you operate (9) or less Conf(x),
  3339.                you can use the PRESETS to define CONF ACCESSES "P" in
  3340.                your ACCOUNT EDITOR.
  3341.            
  3342.            2.  If you plan on using **MORE THAN 9 CONFERENCES**, please
  3343.                re-read the special cautions and descriptions given in
  3344.                CHAPTER 9 - EXTENDED CONFERENCES.
  3345.  
  3346.    "9"     RE-ACTIVATE "Inactive" ACCOUNT   is a command that we hope you
  3347.            do not need to use often.  It is used primarily for security
  3348.            reasons.
  3349.            
  3350.            1.  You may save a user's USER.DATA but "Inactivate" an account
  3351.                should the user be away for an extended period such as
  3352.                vacations, college, or other reasons using the DEL key.
  3353.                Then you can "RE-ACTIVATE" the account using this key.
  3354.  
  3355.            2.  Sadly, some members might abuse your system, forcing you
  3356.                to take "enforcement actions".  The "Re-Activate" feature
  3357.                is to let someone back into your system following such an
  3358.                incident.
  3359.  
  3360.    "DEL"   The "DELETE" key is the one your users will probably dread,
  3361.            especially if you are forced to take "enforcement actions".
  3362.  
  3363.            1.  "DEL" ***DOES NOT*** destroy the user's USER.DATA or 
  3364.                      USER.KEY information.  Rather it "inactivates"
  3365.                      his account <saving the information> so that he
  3366.                      can not log onto the S!X BBS.
  3367.                 
  3368.            2.  "Deleted Users" must log back onto S!X BBS as "New Users".
  3369.                They will have to fill out your application, (if used),
  3370.                and must know any "NEW_USER_PASSWORD" or "SYSTEM_PASSWORD"
  3371.                just like any other new user.
  3372.  
  3373.                This is a pretty drastic step, but one which is sadly
  3374.                forced upon many SysOPs often.  You have saved his old
  3375.                USER.DATA/KEYS so that "if he follows the rules", you
  3376.                can chose to restore his old stats or make him start
  3377.                all over again with a new account.
  3378.  
  3379.            3.  ****CAVEAT****  Several S!X "Door" and CLI/SHELL routines
  3380.                                will erase USER.DATA/KEY files on users
  3381.                                which are "Deleted".  A good example is
  3382.                                Ron Shaw's, aka "Spazm's" UDCRUNCH.
  3383.  
  3384.    **SPECIAL UNSHOWN KEYS**
  3385.  
  3386.    KEYPAD  "Keypad" keys should work for all "keymaps" for RETURN, 0-9,
  3387.            +, - keys.  This is a 'shortcut' many of us use, but is not
  3388.            shown in display to save screen lines.
  3389.  
  3390.  
  3391.    "+"     PLUS_KEY "+" will automatically take you *FORWARD* one user
  3392.            in your ACCOUNT EDITOR.  If you have "edited" the user's
  3393.            data, it will automatically be SAVED.  This is another of
  3394.            the "power-user shortcuts" not shown.
  3395.  
  3396.    "-"     MINUS KEY "-" is the opposite of PLUS.  It takes you back
  3397.            one user, (i.e. SLOT# less 1) and also will SAVE any fields
  3398.            which you might have "edited".
  3399.  
  3400.    "RET"   RETURN is used as a sort of "CD", taking you up one higher
  3401.            level in the ACCOUNT EDITING menu and logic.  Hitting RET
  3402.            twice will usually return to either "Awaiting A Caller" if
  3403.            started with F6 or return you to a main PROMPT> if started
  3404.            via "1" while ONLINE.
  3405.  
  3406.  
  3407. 11. CHAPTER 11  S!X Program Logic  -OR -  How it all Works!!
  3408.     ==========================================================
  3409.  
  3410. *************************************************************
  3411. CHAPTER 11  S!X "Program Logic"  -OR -  How it all Works!!
  3412. *************************************************************
  3413.  
  3414.    I will now attempt a explanation of S!X, based upon the original
  3415.    AmiExpress logic; first as developed by Mike Thomas V0.9b-V1.1u
  3416.    and later by Joe Hodge V1.1w-2.34.
  3417.  
  3418. <ERRATA> 
  3419.  
  3420.    ***PLEASE NOTE***  This does not, at present, cover all the changes
  3421.    in logic which occured since the development of S!X by Stephan
  3422.    Schiemann.  I am first trying to write a complete, coherent manual
  3423.    of the basics of /X and S!X historically............then I will go
  3424.    thru the entire REVISION.DOC and S!X SOURCE CODING trying to document
  3425.    all the new features in either Steve's Revision notes or things which
  3426.    exist but were sadly never documented from the actual source codes.
  3427.  
  3428.  
  3429.  
  3430. <NO_DEF>                         Sorry, I'm dead tired and will have
  3431.                                  written more by the next 
  3432.                                  "S!X Modular Install" RELEASE!!!
  3433.  
  3434.  
  3435.     Once all of the NODES are started the following actions take place for
  3436.     each node:
  3437.  
  3438.     At this point the bbs will load up the computer types from a file
  3439.     called:
  3440.  
  3441.     BBS:NODE(x)/COMPUTERLIST  (x) indicates 1 of 9 nodes
  3442.  
  3443.        EXAMPLE:
  3444.        -----------(cut here)------------
  3445.        5           <- This entry describes how many computer types follow
  3446.        Amiga 500   <- 1st entry
  3447.        Amiga 1000  <- 2nd entry
  3448.        Amiga 2000  <- 3rd entry
  3449.        Amiga 3000  <- 4th entry
  3450.        Other       <- 5th entry
  3451.        -----------(cut here)------------
  3452.        ^
  3453.        |_
  3454.          |
  3455.        NOTE: The bbs and ACP require this file to exist in order to operate
  3456.  
  3457.       Ami-Express then checks if the node is already running as another task,
  3458.       and if it is, then the program halts and exits with an error message.
  3459.  
  3460.       Ami-Express will run thru it's initialisation process where it will take
  3461.       the modem off-hook, and configure it for BBS operation.  This is done so
  3462.       that an incoming call does not alter the configuration process.
  3463.  
  3464.       While BBS Node(x) is in "standby mode, the following options are 
  3465.       available via your BBS:BBSTexts/awaitscreen.txt
  3466.  
  3467.           F1  - Sysop Login
  3468.           F2  - Local Login          (uses same logic as a "caller")
  3469.           F3  - Give Carrier
  3470.           F4  - Reserve for a User.  This reserves this Node(x) for a
  3471.                                      specific user.
  3472.           F5  - Local SHELL
  3473.           F6  - Account Editor
  3474.           F7  - "Toggle Chat ON/OFF
  3475.           F8  - Reset MODEM.         Better stated as "re-initialize" modem.
  3476.           F9  - EXIT BBS             Shutdown this Node() and return the
  3477.                                      Serial() to the system
  3478.           F10 - EXIT BBS "OffHook"   This takes Node() and that phoneline
  3479.                                      to an offhook, i.e. "BUSY" status.
  3480.       HELP KEY- Performs a "Screen-To-Background" command   
  3481.  
  3482.  
  3483.       While someone is online you have the following function keys available
  3484.       to you:
  3485.  
  3486.       F1  - Chat in/out
  3487.       F2  - Increase Online time limit +10 mins
  3488.     SHIFT+F3  - (Version 0.39z1)  This pops an ASL Requester asking for a
  3489.                 filename to download.  It replaces the SYSOP DOWNLOAD
  3490.                 FUNCTION.  Remember to change your AwaitScreen.txt.
  3491.       F3  - Decrease Online time limit -10 mins
  3492.       F4  - Asks for a path/filename for a capture file (only on the sysops
  3493.         side) or if one is already open then it closes the capture and
  3494.         lets you know it did so. when you press F4 again the capture
  3495.                 will be stopped.
  3496.     SHIFT+F4  - Asks for a path/filename to ASCII send a file (only on the sysops
  3497.             side)
  3498.  
  3499.     SHIFT+F5  - This will "Toggle" RELATIVE CONF() ACCOUNTING function ON/OFF
  3500.                 while User is online.  This was for testing originally, but
  3501.                 can be used to give users a "Temporary Break".
  3502.       F5  - Local Shell
  3503.       F6  - Account Editing
  3504.     SHIFT+F6  - This will let you change the Account of a User only for that call
  3505.             he is online. When he locks off the BBS will reset his Account
  3506.             to the old one. Press Shift+F6 a second time and the changes will
  3507.                 be reseted to the old ones.
  3508.       F7  - Chat Flag toggle (whether you are to be paged or not)
  3509.       F8  - Serial in on/off (User can`t write until you press F8 again)
  3510.       F9  - Serial out on/off (User can`t see what you are typing)
  3511.       F10 - Keyboard out on/off (Disconnect OnLine User *KICK*)
  3512.  
  3513.       Now follows the normal reactions of AmiExpress when something happens
  3514.       if the bbs is in the standby mode and the nodes are standing at
  3515.       "Awaiting Connect".
  3516.  
  3517.        (1). The bbs checks for F key input from the local keyboard.
  3518.  
  3519.        (2). Or data coming in the serial port.
  3520.  
  3521.        (3). Or data coming in the internal commnunication AmiExpress_Node(x)
  3522.             msgport for commands either suspend, resume, or shutdown.
  3523.  
  3524.        (4). Or data coming in from the AmiExpress window itself (Gadgets etc..)
  3525.  
  3526.        (5). Or data coming in from AmiExpress Control.(ACP)
  3527.  
  3528.            Once the modem picks up a RING DETECT, the bbs sends an Answer
  3529.            string specified in the config file to the modem, and waits
  3530.            for a response from the remote modem. If the resultant string
  3531.            is a valid connect string, the bbs continues with normal
  3532.            operations, if not, it resets the modem and the ACP screen will
  3533.            return to "Awaiting Connect" state.
  3534.  
  3535.            If the connect string was a valid one, AmiExpress firstly checks
  3536.            a couple of things before performing the login routine:
  3537.  
  3538.             (1). System checks for a file called:
  3539.                  BBS:NODE{x}/NOCALLERSAT{BAUD} where x is node number and
  3540.                  BAUD is the baud rate that is unaccepted. If this file
  3541.                  exists, and the current baud rate matches the BAUD, then
  3542.                  the BBS displays the file and disconnects.
  3543.  
  3544.       (2). Displays the connect string received from the modem.
  3545.  
  3546.       (3). Now, the BBS displays the standard welcome message,
  3547.            and starts to perform the actual login procedure.
  3548.  
  3549.       (4). Check to see if you have a door called FRONTEND , if so it 
  3550.            executes it. see section regarding doors for more info.
  3551.            Explanation: 
  3552.             To Install the frontend door you have to add the following
  3553.             Line to the 'BBS:COMMANDS/SYS.CMD' File:
  3554.  
  3555.          -------Cut here----------
  3556.          FRONTEND  XM005DOORS:FRONTEND/DOORBEFORELOGON <<< That`s the Door !!
  3557.          -------Cut here----------
  3558.  
  3559.            Where DOORBEFORELOGON is the door that will be executed right after
  3560.            the welcome message. This is a very flexible option in that it can
  3561.            be used with a door that checks who is online on the other nodes
  3562.            and their activities, and dumps this to one of the first BUllBatch
  3563.            bulls files that are displayed upon login. This is just an example,
  3564.            but it`s there to be explored. For more information on doors,
  3565.            please refer to the docs on advanced Door-Protocols and
  3566.            Implementation.
  3567.  
  3568.       (5). BBS checks if there is a door called "ANSI" in the SYS.CMD, if so
  3569.            it will start the door you insert and will skip the selecting
  3570.            of ANSI or ASCII Colors. Look at Point (4) above for more infos
  3571.            about installing these doors.
  3572.            If the BBS can`t find such a door it will asks if the user wants
  3573.            ANSI graphics or not.  If a 'Q' is specified at the end of the line
  3574.            like: "YES Q" or "Y Q" etc. Then the BBS checks if the Option
  3575.            SUPPRESS_QLOGON is on or not if the option is on the BBS will
  3576.            display the Logon.txt because you want to have the users seen it.
  3577.            If the Option is off and the user answers "Y Q" or "YES Q" the BBS
  3578.            will not display the logon or logoff screens.
  3579.  
  3580.       (6). Then if the sysop has specified a SYSTEM PASSWORD it
  3581.            displays a file called: BBS:NODEx/PRIVATE.txt(.gr) then
  3582.            asks for the SYSTEM PASSWORD.  The system gives the user
  3583.            three tries and if by then he hasn't gotten it the bbs
  3584.            hangs up, and displays in the callerslog that someone
  3585.            attempted to get the SYSTEM PASSWORD.
  3586.  
  3587.       (7). The bbs displays the file: BBS:NODE{x}/BBSTITLE.txt(.gr)
  3588.  
  3589.       (8). It now asks for the user to enter his FULL NAME, again wildcards
  3590.            are usable and will expand and ask if correct.  A user gets
  3591.            five tries at his user name, then the bbs hangs up.
  3592.  
  3593.       (9). Now the BBS checks for a File called BBS:NODE{x}/NOTTHISNODE.TXT
  3594.            and if the BBS finds such a file it will look in it and if there
  3595.            is the name of the User who is online, the BBS will display
  3596.          the Textfile BBS:NODE{x}/NOTTHISNODE.MSG and logs the user off...
  3597.  
  3598.      (10). If the bbs can't find the name supplied it will tell the user
  3599.            and ask him if he would like to 'C'ontinue to join or 'R'etry
  3600.            entering his name again.
  3601.  
  3602.       [C]ontinue as a New User Selected:
  3603.       ----------------------------------
  3604.  
  3605.           (1). If the bbs has been reserved it will notify the user that
  3606.                the bbs has been reserved for a specific member and will
  3607.                then hangup.
  3608.  
  3609.           (2). If the bbs hasn't been reserved then the bbs checks to see if
  3610.                the user's baud rate is allowed during the time he has called.
  3611.                If so, then the bbs allows the user to continue, otherwise it
  3612.                displays the file: BBS:NODE{x}/NOTTIME{BAUD}.txt(.gr)
  3613.                      {x} = Node number, {BAUD} = Current Baud rate.
  3614.  
  3615.           (3). If the sysop has specified a new user password in the config
  3616.                file then the bbs displays the file:
  3617.                BBS:NODE{x}/NEWUSERPW.txt(.gr)
  3618.                Then it asks for the new user password and if the user gets
  3619.                the password wrong it goes back and asks for his FULL NAME
  3620.                again, after 5 tries the bbs hangs up.
  3621.  
  3622.           (4). If the System-Operator wishes to have no more NEW users the bbs
  3623.                would look for the file BBS:NODE{x}/NONEWUSERS then displays it
  3624.                and disconnect the User. And if you wishes to have no more NEW
  3625.                users at a SPECIFIC BAUD RATES, the BBS would look for a file
  3626.                called BBS:NODE{x}/NONEWAT{BAUD}, displays it and then
  3627.                disconnecting the User.
  3628.                       {x} = Node number, {BAUD} = Current Baud rate.
  3629.  
  3630.           (5). Now it enters the New Account routines.
  3631.  
  3632.                 1. Search displays BBS:NODE{x}/JOIN.txt(.gr)
  3633.  
  3634.                 2. Asks for full name.  At this point wildcards are NOT
  3635.                    ALLOWED.  The user only has 5 chances to enter it then
  3636.                    the bbs says "Too Many Errors, Goodbye!"
  3637.  
  3638.                 3. The bbs checks for use of a name that already exists.
  3639.                    If the name already exists it asks again.
  3640.  
  3641.                 4. The bbs checks the name given to see if not in the list
  3642.                    of names supplied in the file BBS:NODE{x}/NAMESNOTALLOWED
  3643.                    This is a file that contains names that the sysop does
  3644.                    not want to allow on the bbs.  If the file does not
  3645.                    exists the bbs will not allow any new users to log on
  3646.                    util the file has been added.  This is to prevent
  3647.                    someone getting on as ALL or EALL etc.  A notice will
  3648.                    be placed at the end of the BBS:NODE{x}/CALLERSLOG file.  
  3649.  
  3650.         WARNING: You should specify in that list SYSOP, ALL, and EALL
  3651.  
  3652.                 5. Next it asks for the City, State.
  3653.  
  3654.                 6. The it asks for Phone Number (xxx-xxx-xxxx)
  3655.  
  3656.                 7. Next, it asks for the Users personal Password
  3657.  
  3658.                 8. Number of lines on screen (1-255)
  3659.               
  3660.               9. Clear Screen between Messages ?
  3661.  
  3662.                10. Display back all info and asks if it is correct if
  3663.                    the user needs to change something he just says no
  3664.                    its not correct and the process starts again at 2..
  3665.  
  3666.                11. At this point the bbs checks to see if there is a
  3667.                    script questionaire to ask the user to fill out, it
  3668.                    checks for BBS:NODE{x}/SCRIPT{BAUD}
  3669.                       {x} = Node number, {BAUD} = Current Baud rate.
  3670.  
  3671.                 NOTE: The {BAUD} should be specified as 1200,2400,4800,
  3672.                       9600, 12000, 14400 and 16800 to allow for proper
  3673.                       connect handling by USR HST modems.
  3674.  
  3675.                       1.  V0.35+ you **DO NOT** need the {baud}.  It
  3676.                           will default to "script", but you can specify
  3677.                           "Script{baud} if you want to answer different
  3678.                           questions based on their connect speeds
  3679.  
  3680.                    Now the user is asked to fill out the script if existent.
  3681.                    A sample script may look like:
  3682.  
  3683.                         -------------Cut Here--------------------
  3684.  
  3685.                         What is your Real Name: ~ 
  3686.                         What is your Real #   : ~
  3687.                         What is your Sex,Age  : ~
  3688.       
  3689.                         -------------Cut here--------------------
  3690.  
  3691.                    Here, the ~ character is used when a prompt for input
  3692.                    by the user is expected.  The answers are saved to
  3693.                    BBS:ANSWERS before being validated by the sysop.
  3694.                    
  3695. <ERRATA>           ***NOTE*  As of V0.39h you must create a directory
  3696.                              called BBS:Answers in which all your 
  3697.                              new user questionaires will be placed.
  3698.                               
  3699.                              Hitting the "?" from your ACCOUNT EDITOR
  3700.                              will then display that user's answers to
  3701.                              you automatically.....[end this ERRATA].                   
  3702.  
  3703.              12. The bbs then displays the file BBS:NODE{x}/JOINED.txt(.gr)
  3704.  
  3705.          (10). Once the system has loaded the users account, it checks to see
  3706.                if the system has been reserved, if so and the user who just
  3707.                logged in is not the reserved user the bbs displays that the
  3708.                system has been reserved for that specific user, and then hangs
  3709.                up.
  3710.  
  3711.          (11). Then the BBS will display the BBS:NODE{x}/LOGON{y}.txt(.gr) texts
  3712.                where x stands for the Node and y for the number of the Logon
  3713.                texts. if there are random Logontexts installed in the BBS:SCREENS
  3714.                Directory this one will be displayed.
  3715.  
  3716.          (12). If the bbs hasn't been reserved then the bbs checks to see if
  3717.                the user's baud rate is allowed during the time he has called.
  3718.                If so, then the bbs allows the user to continue, otherwise it
  3719.                displays the file: BBS:NODE{x}/NOTTIME{BAUD}.txt(.gr)
  3720.  
  3721.          (13). If the users Security level is 0 then the bbs displays the
  3722.                file: BBS:NODE{x}/LOCKOUT-0.txt(.gr) and then hangs up.
  3723.  
  3724.          (14). If the users Security level is 1 then the bbs displays the
  3725.                file: BBS:NODE{x}/LOCKOUT-1.txt(.gr) and then hangs up.
  3726.  
  3727.         NOTE: These two files allow a sysop to be either polite about not
  3728.               allowing a user on the system, or if the user is an abuser,
  3729.               the sysop can have a full blown rude as hell Lockout text for
  3730.               those types of users.
  3731.  
  3732.          (15). At this point the system adds to the end of
  3733.                BBS:NODE{x}/CALLERSLOG that a user just logged in.
  3734.  
  3735.          (16). Now the bbs asks the user for his password, every time the user
  3736.                gets the password wrong the bbs adds what he tried to the end
  3737.                of BBS:NODE{x}/CALLERSLOG. After 3 tries the bbs hangs up and
  3738.                adds this to the Callerslog.
  3739.  
  3740.          (17). The bbs checks to see if the beginning of the username starts
  3741.                with "UUCP." if it does and the user has access to do UUCP,
  3742.                it drops to UUCICO on the serial port. For more information on
  3743.                how to implement UUCP for the Amiga, and with AmiExpress, refer
  3744.                to the section on NETMAIL with Express.
  3745.  
  3746.          (18). Then the standard logon sequence takes place and puts the user
  3747.                at the main command prompt
  3748.  
  3749.       LOGON SEQUENCE FOR A PREVIOUS USER:
  3750.       -----------------------------------
  3751.  
  3752.       When a user with an existing account logs into the BBS, the login
  3753.       procedure is a lot more simplified. The standard login procedure is
  3754.       listed below:
  3755.  
  3756.        (1). The bbs checks to see if the user has any time for the day
  3757.             if not it displays BBS:NODE{x}/LOGON24HRS.txt(.gr) file to the
  3758.             user and hangs up.
  3759.  
  3760.        (2). If no BULLBATCH files are specified, the BBS looks dor any
  3761.             Bulletin files in BBS:NODE{x}/BULL{SEC}.txt(.gr) where 
  3762.             {x} = NODE NUMBER and {SEC} = USERS CURRENT SECURITY LEVEL.
  3763.             If a file is found that matches the user`s security level,
  3764.             it is displayed. For example, a last callers bulletin for
  3765.             standard user security of 20 would be saved in the BBS:NODE{x}
  3766.             directory as follows: BBS:NODE{x}/BULL20.TXT and
  3767.             BBS:NODE{x}/BULL20.TXT.GR. This routine has also been simplified
  3768.             from the sysop's end so that the appropriate bulletins are
  3769.             searched for in a rounded off method.
  3770.             ie: If a user level with security level of 20 has logged in, and
  3771.                 the bbs can NOT find an entry for BBS:NODE{x}/BULL20.TXT but
  3772.                 finds a file called BBS:NODE{x}/BULL15.TXT, then this file
  3773.                 will be displayed. If there is also a file called
  3774.                 BBS:NODE{x}/BULL30.TXT, this file will be displayed to users
  3775.                 with security level of at least 30 or more. Once the BBS finds
  3776.                 the nearest file, it displays that file only.
  3777.  
  3778.           NOTE: Routines have been added to AmiExpress to make sysop setup
  3779.                 a little easier and less annoying to the user.  The bbs will
  3780.                 scan for a peticular file in this method:
  3781.  
  3782.           Say a user with access level 30 just logged in, with ansi color,
  3783.           now the BBS will check first if there is a BULL30.txt and if not
  3784.           the bbs will go on with searching for bulls lower than 30.
  3785.  
  3786.           Look here:
  3787.  
  3788.           BBS:NODE{x}/BULL30.txt.gr
  3789.           BBS:NODE{x}/BULL30.txt
  3790.           BBS:NODE{x}/BULL25.txt.gr
  3791.           BBS:NODE{x}/BULL25.txt
  3792.           BBS:NODE{x}/BULL20.txt.gr
  3793.           BBS:NODE{x}/BULL20.txt
  3794.           BBS:NODE{x}/BULL15.txt.gr
  3795.           BBS:NODE{x}/BULL15.txt
  3796.           BBS:NODE{x}/BULL10.txt.gr
  3797.           BBS:NODE{x}/BULL10.txt
  3798.           BBS:NODE{x}/BULL5.txt.gr
  3799.           BBS:NODE{x}/BULL5.txt
  3800.           BBS:NODE{x}/BULL.txt.gr
  3801.           BBS:NODE{x}/BULL.txt
  3802.  
  3803.        NOTE: because of this method of searching, all files to be
  3804.              searched for must end in either 0 or 5 (as above), the
  3805.              user access level will be rounded down to the nearest
  3806.              multiple of 5 and the search will start there.
  3807.  
  3808.            Thats an example of a search for a file to be displayed, once
  3809.            a file is found that exists it displays ONLY that file.
  3810.            This method is used on the following:
  3811.  
  3812.            BBS:NODE{x}/BULL
  3813.            BBS:NODE{x}/JOINCONF
  3814.            BBS:CONF/MENU
  3815.            BBS:CONF/BULL
  3816.  
  3817.            In some cases it works a little different, in this case
  3818.            the user security is not used, like:
  3819.  
  3820.            BBS:CONF/Bulletins/BULLHELP.txt.gr
  3821.            BBS:CONF/Bulletins/BULLHELP.TXT
  3822.  
  3823.            Thats how that one works and the following are like that:
  3824.  
  3825.            BBS:NODE{x}/JOINED
  3826.            BBS:NODE{x}/LOGON24HRS
  3827.            BBS:NODE{x}/GUESTLOGON
  3828.            BBS:NODE{x}/LOGON
  3829.            BBS:NODE{x}/LOGOFF
  3830.            BBS:NODE{x}/JOIN
  3831.            BBS:NODE{x}/NOTTIMEbaud
  3832.            BBS:NODE{x}/PRIVATE
  3833.            BBS:CONF/FILEHELP
  3834.  
  3835.         NOTE: For multiple bulletins upon login, a BULLBATCH script is used
  3836.               to display the necessary bulletins in the correct order.  For
  3837.               more information on this, please refer to the section under
  3838.               BULLBATCH implementation.
  3839.  
  3840.  
  3841.        (3). Initial User specific checks are made:
  3842.  
  3843.          a> The bbs now scans thru all the conferences that the user has
  3844.             access privilege to for any waiting mail. If mail is found, it
  3845.             informs the user about it and asks the user if they want to view
  3846.             it.
  3847.  
  3848.          b> The bbs checks to see if there are any unfinished uploads.
  3849.             If someone looses carrier uploading a file and calls back
  3850.             he will be allowed to resume his/her upload.
  3851.  
  3852.        (4). Then the bbs rejoins the conference the user was in the last time
  3853.             he called.
  3854.  
  3855.        (5). It then checks the file BBS:CONF/NDIRS to see how many, if any,
  3856.             directories of files that specific conference has.
  3857.             This file would look something like this:
  3858.  
  3859.                   ---------------CUT HERE------------
  3860.                   2
  3861.                   ---------------CUT HERE------------
  3862.  
  3863.             This would specify that there are two file directories where files
  3864.             are kept. A carriage return is necessary after the number.
  3865.  
  3866.             If this file is unavailable, the conference will have NO files
  3867.             available in it, meaning no uploads or downloads will be possible
  3868.             from it.
  3869.  
  3870.        (6). If the number of directories is greater than zero, the bbs looks
  3871.             to see if a file exists called BBS:CONF/FREEDOWNLOADS, if so then
  3872.             all files in this peticular conference are free to download.
  3873.  
  3874.        (7). Now, the BBS scans for any BBS:CONF/BULL{SEC}.TXT(.GR) files in
  3875.             the same method as described earlier on.
  3876.  
  3877.           NOTE: This works exactly like the BBS:NODEx/BULL files.
  3878.  
  3879.        (8). After displaying the available bulletins, if the user is not in
  3880.             EXPERT mode, the bbs displays the available
  3881.             BBS:CONF/MENU{SEC}.TXT(.GR) and reaches the MAIN MENU PROMPT.
  3882.  
  3883.           a> Any command entered at the MAIN MENU PROMPT will be looked up
  3884.              in a BBS:Commands/BBS.CMD file. If the command is found as
  3885.              a module name in that list then the module will be executed.
  3886.              If the command cannot be found, then the command will be compared
  3887.              to BBS:Commands/CONF{x}.CMD and like wise be executed if found.
  3888.              otherwise the command will be considered an internal command and
  3889.              maybe any of the commands listed below. 
  3890.  
  3891.            NOTE: Customcommands are totally optional, If you do not have them
  3892.                  then don't worry.
  3893.  
  3894.  
  3895. 12. CHAPTER 12   S!X User Menu Commands Users Can Use
  3896.     =================================================
  3897.  
  3898.  
  3899. **************************************************************
  3900. CHAPTER 12   S!X "User Menu Commands" Users Can Use
  3901. **************************************************************
  3902.  
  3903.     This is a list of the "General" User Commands commonly available on all
  3904.     S!X BBSs.  I say that with ***CAUTION***, noting that S!X has extensive
  3905.     abilities to use several different types of "Doors". 
  3906.     
  3907.     In adding either S!X Development Utilities or those by others, you can
  3908.     totally redifine your Menus, add extensive additional features, or
  3909.     prohibit the used of commands.  ALL THIS IS SYSOP CONFIGURABLE.
  3910.  
  3911.     ***REMINDER***  S!X uses what can be called either DOS arguments or
  3912.                     "Command Stacking".  While commands are usually defined
  3913.                     as a single character, number, or "word".........these
  3914.                     can be entered into <args> such as: F 1   N S U    etc.
  3915.  
  3916. <ERRATA>  02-21-96  Again these are from the original /X V2.34 Documents.
  3917.                     I have much work to update this to S!X V039u3 or later.
  3918.                     
  3919.                     Merely I'm trying to make the manual finally a coherent
  3920.                     copy logically without a bunch of random pages for you
  3921.                     to scroll.
  3922.  
  3923.  
  3924.    SYSOP ONLY COMMANDS:
  3925.  ~~~~~~~~~~~~~~~~~~~
  3926.       These commands are NORMALLY commands that are called up by single digit
  3927.       number codes.  They are available only to users with SYSOP SECURITY
  3928.       LEVELS as defined in the config file by AmiConfig under ACCOUNT EDITING.
  3929.  
  3930.    [ 1 ] - Account Editing:
  3931.         ~~~~~~~~~~~~~~~
  3932.         This is used to either review existing accounts and modify them, or
  3933.         scan for any new user logins that wish to be validated.  The account
  3934.         editing module is very easy to use in that it is basically menu
  3935.         driven. You can also get into the BBSInfo Conf. from here.
  3936.  
  3937. <ERRATA> Not functioning in V039.z6
  3938.  
  3939.     [ 2 ] - View CallersLog:
  3940.         ~~~~~~~~~~~~~~~
  3941.         This lets the sysop view the BBS:NODE{x}/CALLERSLOG file backwards.
  3942.         The last line written to the callerslog will be displayed first
  3943.         and the first line of the callerslog will be displayed last.
  3944.         On system running more than one node, this command will ask which
  3945.         NODE's CALLERSLOG to view.
  3946.  
  3947.  
  3948. <ERRATA> Not functioning in V039z6
  3949.  
  3950.     [ 3 ] - Edit File Directories (EDITOR/EMACS):
  3951.         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3952.         If you started this Command, the bbs will check if the one who started
  3953.         the command is a remote or a local one. If the one who started it is 
  3954.         a local one it will search for a Door called "EDITOR" in the SYS.CMD
  3955.         and if it exists it will be executed and the normal starting of the
  3956.         EMACS will be skipped. 
  3957.  
  3958.         If the one who started the command is in REMOTE_LOGON then the command
  3959.         will be executed as follows:
  3960.         This command uses the command line version of MicroEmacs for on-line
  3961.         directory editing.  For more information on how to use Emacs, you
  3962.         should refer to the section on COMMON EMACS COMMANDS.
  3963.         This command asks the user which directory to edit before it opens
  3964.         up the appropriate AUX: or CNN: channel and executing EMACS.
  3965.         NOTE: AUX{x}: is used only on remote connections and if active
  3966.               a watchdog task that checks for carrier loss is also invoked.
  3967.               If carrier is lost while editing directories, the computer
  3968.               will be reset withing two seconds.
  3969.               A special note to MULTI NODE systems: The watchdog resets the
  3970.               computer if a carrier is lost regardless of what the other
  3971.               nodes are doing.  If users are logged in on other nodes, they
  3972.               will be disconnected when the computer resets.  A later version
  3973.               of AmiExpress will send a notification to the other nodes and 
  3974.               a time-out requestor locally will inform the sysop and users 
  3975.               that express wants to reset the computer and that everyone
  3976.               should finish up what they're doing.
  3977.         
  3978.         Exiting from EMACS with CTRL-X CTRL-C key combination will return the
  3979.         user to the MAIN MENU PROMPT.  While a user is in EMACS, the BBS will
  3980.         notify the sysop by placing a line like:
  3981.         User in Emacs........
  3982.  
  3983.         WARNING! for those of you using the A2232 multi serial card
  3984.                  you may run into problems using the editor. We
  3985.                  are currently working on a fullscreen editor to 
  3986.                  take it's place.
  3987.  
  3988.     [ 4 ] - Edit any Text File on System (EDITOR/EMACS):
  3989.         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3990.         This command is basically the same as the previous with the option
  3991.         to specify full path and file name to edit. This commands prompts
  3992.         the user for the necessary information.
  3993.  
  3994.  
  3995.     [ 5 ] - List System Directories:
  3996.         ~~~~~~~~~~~~~~~~~~~~~~~
  3997.         This command works just like the AMIGADOS List command and displays
  3998.         the directory and sub-directories available for the specified path.
  3999.         The command can also display any comments (FILENOTES), attached to
  4000.         the files themselves.  When selected, AmiExpress will ask for the 
  4001.         full path name and whether to include comments or not.
  4002.  
  4003.  
  4004.     [ 0 ] - Remote Shell:
  4005.         ~~~~~~~~~~~~
  4006.         This Command has been removed currently in this version of express.
  4007.         There are some great door with the same capabilities soon to replace
  4008.         this command. if you choose one of the great doors who are out. 
  4009.         Personallity I recommend the version of MALTESE FALCON. then install
  4010.         it as a normal door in your "BBS.CMD" commands and choose the 0
  4011.         button for that.
  4012.  
  4013.       This sums up the SYSOP ONLY FUNCTIONS of AmiExpress. The Next section
  4014.       deals with the standard commands available to all users.  Of course,
  4015.       certain command options can be disabled for specific security levels
  4016.       from the AmiConfig for the config file.
  4017.  
  4018.    REGULAR USER COMMANDS:
  4019.  ~~~~~~~~~~~~~~~~~~~~~
  4020.  
  4021.       The following are the regular user commands.  These commands are
  4022.       explained in detail, and any neccesary pre-requisite for the particular
  4023.       command to work is also outlined. All the commands here can be choosen
  4024.       in the ACP.STARTUP or the normal Config{x}.
  4025.  
  4026.     [ $ ] - ReScan MsgBases for Mail
  4027.  
  4028.         This command allows you to ReScan all Conf() MsgBases for new
  4029.         mail to you from other users of the BBS.  Handy if you said "No"
  4030.         to NewMailScan or used the "(T)ouch" option to initially read
  4031.         your mail.
  4032.  
  4033.     [ A ] - Alter File Flags:
  4034.         ~~~~~~~~~~~~~~~~
  4035.         This command allows the user to change the flagged file list
  4036.         without having to do a file listings and get a PAUSE...MORE
  4037.         prompt to change the flags.
  4038.         Chaining data is allowed, or the routine will prompt the user
  4039.         for the information.
  4040.  
  4041.         First it will show the current list of flags.
  4042.  
  4043.         No file flags
  4044.         Filename(s) to flag: (C)lear, (Enter)=none?
  4045.  
  4046.         At this prompt the user can:
  4047.          1. Enter new files to add to the flag list
  4048.          2. Enter 'C' to goto the clear flag prompt
  4049.  
  4050.         Filename(s) to Clear: (*)All, (Enter)=none?
  4051.  
  4052.         At this prompt the user can:
  4053.          1. Enter filenames to remove from the flag list,
  4054.             wildcards are valid, however they will only
  4055.             remove the first entry.
  4056.          2. Use '*' to remove all entries in the list.
  4057.          3. Hit Return to exit.
  4058.  
  4059.         Once a user exits the Clear prompt, it will once
  4060.         again show the list of flagged files and drop back
  4061.         to the MAIN MENU PROMPT.
  4062.  
  4063.     [ B ] - Bulletins:
  4064.         ~~~~~~~~~
  4065.         This command allows the user to view bulletins that the sysop
  4066.         has made available.
  4067.         - Firstly, the BBS checks to see if the file
  4068.           BBS:CONFNAME/BULLETINS/BULLHELP.TXT is available; if not, it tells
  4069.           the user that no bulletins are available in that conference.
  4070.         - If the BBS:CONFNAME/BULLETINS/BULLHELP.TXT is found, it is displayed
  4071.           and the user is prompted to enter the bulletin # to view or '?' to
  4072.           redisplay the BULLHELP.TXT which is the bulletins menu.
  4073.         - If a user selects a valid bulletin #, it is displayed and the bbs
  4074.           returns back to the bulletin prompt.
  4075.         - If a user selects an invalid bulletin #, the bbs informs the user
  4076.           that there is no bulletin #{x} where {x} = the specified bulletin.
  4077.  
  4078.  
  4079.     [ C ] - Comment to Sysop:
  4080.         ~~~~~~~~~~~~~~~~
  4081.         This command is exactly the same as the regular ENTER MESSAGE command
  4082.         except that the message is addressed privately to the System-Operator.
  4083.         The TO: field is automatically filled with the User name on SLOT 1,
  4084.         which is the Sysop.
  4085.         If the BBS located a file called BBS:ForwardSysopMail then this file
  4086.         will be readed and the first line will be the name of the user the
  4087.         comment will be forwarded.
  4088.  
  4089.         for example:
  4090.  
  4091.         ----- cut here for BBS:ForwardSysopMail -----
  4092.         CoSysOp
  4093.         ---------------------------------------------
  4094.  
  4095.         Now the bbs will forward the mail also to that user you typed in
  4096.         there. This is very usefull if you go to holiday and want your cosys
  4097.         to read the messages to yeah without typing "R" for read messages.
  4098.  
  4099.  
  4100.     [ D ] - Download File(s):
  4101.         ~~~~~~~~~~~~~~~~
  4102.         This command accesses the file transfer procedure for sending files
  4103.         from the system to the remote user.  The flow-chart for this command
  4104.         is quite complex and is outlined below:
  4105.  
  4106.         1. If the BBS:CONFNAME/NDIRS is unavailable, or it contains zero, the
  4107.            bbs informs the user that there are no files to download from
  4108.            that conference.
  4109.  
  4110.         2. The bbs displays the File DOWNLOADMSG.TXT from either BBSTEXTS
  4111.            or CONF() Dir
  4112.  
  4113.         3. The bbs displays the users Download/Upload stats.
  4114.  
  4115.         4. The bbs calculates the ratio limits the user has before uploading
  4116.            files to the system.
  4117.  
  4118.         5. Next, it displays the transfer protocol to use.  AmiZmodem is
  4119.            the only available transfer protocol at the moment.  Cotile is
  4120.            working on implementing XPR transfer protocols so, a later revision
  4121.            will have full XPR support.
  4122.  
  4123.         6. Now the bbs displays the TOP CPS Downloader in your System
  4124.  
  4125.         7. If the user had specified 'DS' instead of just 'D' the download
  4126.            is considered a sysop download and if the user's security level
  4127.            is over 200, the download can be made from any valid AmigaDos 
  4128.            path on the system.  If this is the case, the BBS asks for the
  4129.            full path and filename. NO WILDCARDS ARE ALLOWED with a Sysop
  4130.            Download.
  4131.  
  4132.         8. The BBS asks the user to enter the filename(s).
  4133.  
  4134.         9. Checks for special characters in the filename like ":/" etc.
  4135.            If found, tells the users that special symbols may not be included
  4136.            when downloading.
  4137.  
  4138.        10. Full Wildcards are allowed when doing a regular download, but just
  4139.            the * wildcard character alone is not allowed.
  4140.  
  4141.            ****NOTE*** You must have a file called BBS:AMI_DRIVES.  If you
  4142.            do not create this file showing all available drives, it will
  4143.            default ( Version 0.39y9 ) to assuming all files are on the
  4144.            drive where BBS resides.
  4145.  
  4146.        11. Now, the bbs scans the specified paths from BBS:CONFNAME/PATHS and
  4147.            when it finds the file that the user requested, it displays the 
  4148.            file length in Kbytes, time required to download it at current baud
  4149.            rate, and checks if the user has enough credits to download the 
  4150.            file.  If so, AmiExpress checks the filename against what is in
  4151.            existing File Flag list and if it isn't already there, it adds it.
  4152.            So, if the download sequence is aborted for any reason, just hitting
  4153.            "D" again will download the flagged file.  To remove from flaglist,
  4154.            the user would use the 'A' command.
  4155.  
  4156.        12. Now the BBS checks if there is an Comment at the File like 
  4157.            "RESTRICTED" or "FREE DOWNLOAD" ... if there is a Comment like this
  4158.            then the BBS will display some messages when the File has a comment
  4159.            like "RESTRICTED" it is not not allowed to download this file and
  4160.            the bbs will write a comment into the BBS:NODE{x}/CALLERSLOG that a
  4161.            user tried to download this File... and with this comment you can`t 
  4162.            download this file with a level of 255 and sysop download too.. so
  4163.            the file is 100% save for downloading... if there is the comment
  4164.            "FREE DOWNLOAD" the bbs will make this file free download and it
  4165.            will costs no crediz to download it...
  4166.  
  4167.        13. After hitting return alone on a filespec prompt, the bbs re-checks
  4168.            the totals to see if the batch is within the user's limits.
  4169.  
  4170.        14. If so, AmiExpress asks either to start, abort, or automatically
  4171.            logoff at the end of the transfer.  The 'G'oodbye after transfer
  4172.            gives the user 10 seconds to change his mind after the transfer
  4173.            before performing an automatic disconnect sequence.
  4174.  
  4175.        15. At this point the download sequence is about to begin and so the
  4176.            necessary information is written to the BBS:NODE{x}/UDLOG.
  4177.  
  4178.        16. At the end of the download, if the users' security level is below
  4179.            255, then the user's number of downloads and number of bytes
  4180.            downloaded get updated with the new download stats. Look at the
  4181.            ACP.STARTUP Command "KEEP_UPLOAD_CREDIT" too.
  4182.  
  4183.        17. Now the bbs checks if the DownloadCps was higher than the last
  4184.            record. if the CPS is higher than the record it will display a
  4185.            little text that the user is now the fastest Downloader.
  4186.  
  4187.        18. At this point, the download sequence is completed, and the bbs tells
  4188.            the user his new stats before returning back to the MAIN MENU 
  4189.            PROMPT.
  4190.  
  4191.     [ E ] - Enter a Message:
  4192.         ~~~~~~~~~~~~~~~
  4193.         This command allows the user to leave private or public mail to other
  4194.         users on the system.  There are several options with this command and
  4195.         they are outlined below.
  4196.  
  4197.         1. Asks for who to send it to.  If a wildcard is used the search
  4198.            will find the first user that fits the wildcard and will display
  4199.            it and then ask if its correct, if the user says no then it
  4200.            will search forward.  If it doesn't find the user it will
  4201.            exit back to the mainmenu prompt.
  4202.  
  4203.         2. If the user just hits return on the TO: prompt it will send
  4204.            the message to ALL.
  4205.  
  4206.         3. A feature added in is to be able to leave a message to
  4207.            "EALL" this means to EMAIL ALL people, this is only usable
  4208.            by users with an access level that you specified in the
  4209.            ACP.STARTUP "EALL_LEVEL". What this does is to
  4210.            leave ONE message to ALL USERS , when a person calls
  4211.            the system it searchs for mail in that conference to that
  4212.            user it will say they have mail, from the user that left the
  4213.            "EALL" message.  The TO: will show the user who is receiving
  4214.            the message with "(ALL)" after their name.  The message can
  4215.            only be deleted by the sender or a user with SYSOP access
  4216.  
  4217.         4. Another name that is valid in the TO: prompt is SYSOP, this
  4218.             will be replaced by the Name of the SYSOP, in user slot 1
  4219.  
  4220.         5. Next prompt is the Subject of the message, if the user just
  4221.            hits return it will exit out of the enter message
  4222.  
  4223.         6. The bbs will now ask if the message is to be readable only
  4224.            by the receiver of the message or it will be public.
  4225.  
  4226.         7. Now the user has entered the message editor.
  4227.  
  4228.         8. Tabs now work in the editor, they are indicated by a '|' in
  4229.            the header.
  4230.  
  4231.         9. Ctrl-X in the message editor will delete the current line.
  4232.  
  4233.        10. If you hit a return on a blank line you will exit the edit
  4234.            to the edit command prompt.
  4235.  
  4236.        11. The options are:
  4237.  
  4238.             1. A)bort    - Abort entering the message
  4239.  
  4240.             2. C)ont     - Continue entering the message, this option will
  4241.                            print the last line with text and put the cursor
  4242.                            at the end of the line.
  4243.  
  4244.             3. D)elete   - Allows a user to delete a specific line.
  4245.  
  4246.             4. E)dit     - Allows the user to change text within a line.
  4247.  
  4248.             5. F)ile     - Allows a user with access 240+ to attach a file
  4249.                            to download to the message.  This option will
  4250.                            ask for the filename to attach to the message
  4251.                            and if you wanted the file deleted with the
  4252.                            message as its deleted.
  4253.  
  4254.             6. L)ist     - List the message to the screen.
  4255.  
  4256.             7. S)ave     - Saves the message.
  4257.  
  4258. <NO_DEF>     "T" Touch Message-----V0.26-0.27
  4259. <NO_DEF>     "U"                   
  4260. <NO_DEF>     "E" Edit Message......
  4261.  
  4262.     [ F ] - File Listings:
  4263.         ~~~~~~~~~~~~~
  4264.         This command allows the user get Full directory listings of the
  4265.         catalogs maintained by the BBS.  As mentioned before, this is
  4266.         specified in the BBS:CONFNAME/NDIRS file.
  4267.  
  4268.         1. If the number of directories in the conference is zero
  4269.            or NDIRS is unavailable, then the bbs will display
  4270.            "No files available in this conference." and drop the user
  4271.            back to the main prompt.
  4272.  
  4273.         2. Displays the file BBS:CONF/FILEHELP.txt(.gr) only if
  4274.            all the options were not specified on the command line
  4275.  
  4276.         3. It will then ask for the directory to list including the
  4277.            'H'old directory.  The hold directory can only be used
  4278.            by a user with access greater than 200.
  4279.  
  4280.         4. The specified directory will be displayed and will pause
  4281.            if the NS hasn't already been specified, at the users
  4282.            lines per screen point.
  4283.  
  4284.         5. On the pause prompt, you can select 'F' for flaging files
  4285.  
  4286.     [ G ] - Goodbye (LOGOFF):
  4287.         ~~~~~~~~~~~~~~~~
  4288.         This option is used to end the current session with the host
  4289.         system by the remote user.  When the user hits 'G', the bbs
  4290.         performs several clean-up functions.
  4291.  
  4292.         1. First checks to see if there was a ZooMail that hasn't
  4293.            been downloaded, if there was it would ask if the user
  4294.            wanted to leave anyway.
  4295.  
  4296.         2. The system then checks to see if there were any partial
  4297.            uploads that the user hasn't finished sending yet.  If
  4298.            so then it would let the user know and ask if he wanted
  4299.            to leave anyway.  If the user didn't want to leave, then
  4300.            the bbs would ask if the user wanted to view the files.
  4301.            If the user did want to view them, then the bbs would go
  4302.            into the resume routine showing the user the filename
  4303.            and filesize, then ask if he wanted to resume on that
  4304.            peticular file.  If not then the bbs would ask if the user
  4305.            wanted to delete the file.  If the user didn't want to
  4306.            delete the file then the bbs would go to the next file
  4307.            that was to be resumed.
  4308.  
  4309.         3. If the user hadn't specified the 'Q' at the ANSI color
  4310.            prompt, or the SUPPRESS_QLOGON is given the bbs would
  4311.            display the file: BBS:NODE{x}/LOGOFF.txt(.gr)
  4312.  
  4313.     [ H ] - Help:
  4314.         ~~~~
  4315.         This command displays the on-line help text file for the user to
  4316.         refer to.
  4317.         At this command, the bbs looks for and displays the file :
  4318.         BBS:BBSHELP.TXT(.GR) and if not found will say that No help is
  4319.         currently available.
  4320.  
  4321.     [ I ] - Information Conference:
  4322.         ~~~~~~~~~~~~~~~~~~~~~~
  4323.         This Command lets you get into a BBSInfo Conference where the user
  4324.         can see some bulletins like Top Uploader/Downloader/Caller etc.
  4325.         To enable this function for a specificed Level for User you must
  4326.         change the Accessnumber in the DEF.BBS Extended Config for AmiExpress
  4327.  
  4328.         1. First this Command the bbs displays the Top CPS Downloader
  4329.            and the Top CPS Uploader...
  4330.  
  4331.         2. Then the bbs checks if the user who locked in has the same or
  4332.            higher Security Level as in the DEF.BBS Extended Config which
  4333.            will be decribed later on.
  4334.  
  4335.     [ J ] - Join Conference:
  4336.         ~~~~~~~~~~~~~~~
  4337.         This command is used to switch from the current conference to
  4338.         another conference that the user has access privilege to.
  4339.         The BBS looks for the file BBS:NODE{x}/JOINCONF{SEC}.TXT(.GR) and
  4340.         tries to display it.  If not found, it will print a message 
  4341.         informing the user that the file is missing.
  4342.         Then, prompts the user to enter the number of the conference they
  4343.         wish to join.  If the user does not have access to the requested
  4344.         conference, then the bbs will tell the user that they don't have 
  4345.         access to that conference.
  4346.         If the user has access to the requested conference, AmiExpress 
  4347.         switches to that conference and checks for mail for the user, and
  4348.         then display any appropriate bulletin files if they exist.
  4349.         If the Option "RELATIVE_CONFERENCES" is turned on in the ACP.STARTUP
  4350.         this will only display the Conferences on which the User have access
  4351.         to.
  4352.  
  4353.     [ M ] - Mode Select:
  4354.         ~~~~~~~~~~~
  4355.         This command switches between ANSI color output or Plain Monochrome
  4356.         output on the users end.  When ansi is on, the bbs tries to display
  4357.         files that have the (.GR) extension by default. The normal plain
  4358.         (.TXT) files are reverted to if (.GR) extensioned files are not 
  4359.         found.
  4360.  
  4361.     [ N ] - New Files Since Date:
  4362.         ~~~~~~~~~~~~~~~~~~~~
  4363.         This command allows the user to list files from specified date onwards
  4364.         or from the last time they called the system. In other words, with
  4365.         this command, users can see what the system has to offer in terms of
  4366.         files since their last call.
  4367.  
  4368.         1. If the number of directories in the conference is zero
  4369.            then the bbs will display "No files available in this
  4370.            conference." and drop the user back to the main prompt.
  4371.  
  4372.         2. It will then ask for the date they want to list from.
  4373.            The last date they were on will be the default, this is
  4374.            selected by just hitting return alone.  Entering the date
  4375.            to list from must be done as MM-DD-YY.
  4376.  
  4377.         3. Next the bbs asks for the directory to search thru.  An 'A'
  4378.            can be used to list all directories, also 'U' can be
  4379.            specified for the upload directory.  And H for the hold
  4380.            directory. The hold directory can only be used by a user
  4381.            with access greater than 200.
  4382.  
  4383.         4. The Pause prompt works the same as described in the file
  4384.            listing section.
  4385.  
  4386. <VERIFY>4b "N S G" <V0.39j> GLOBAL "NewFiles" Scanning 
  4387.  
  4388. <VERIFY>5. "N T U" <V0.17> Added is support for Newscans. 
  4389.  
  4390.     [ O ] - Operator Page:
  4391.         ~~~~~~~~~~~~~
  4392.         This command is used by the remote user to call the system operator
  4393.         for on-line chat.
  4394.  
  4395.         1. if the User is calling up the system operator for the first time
  4396.            on the current session, the users name field be changed to a red
  4397.            color when 3 bitplanes are active, and will have star preceding
  4398.            his name if the bbs was booted in 1 bitplane. Also, if the
  4399.            iconfied window is active, the name filed there will also be
  4400.            highlighted a different color. In this way, a sysop can see if
  4401.            the user on-line has requested to chat.
  4402.  
  4403.         2. If the F7 Chat toggle flag is not set to allow paging
  4404.            then the bbs says:
  4405.  
  4406.               "Sorry, The SYSOP, is not around right now
  4407.                You can use 'C' to leave a comment."
  4408.  
  4409.         3. If the chat toggle flag is set to allow paging, then the
  4410.            bbs adds to BBS:NODE{x}/CALLERSLOG that the user paged
  4411.            Then displays "Paging SYSOP (CTRL-C to Abort). ." followed
  4412.            by bells and more dots.
  4413.  
  4414.         4. If you, the SYSOP, wanted to chat with the user you would
  4415.            Hit F1 to enter chat, then AmiExpress looks for the file
  4416.            BBS:NODE{x}/STARTCHAT.TXT(.GR), and if found displays
  4417.            it to the user. This can be a simple greeting to the user.
  4418.            If this file is not found, then the standard sysop chat
  4419.            active message is sent to the screen. The same F1 will exit
  4420.            chat when you are finished and the bbs will display the File
  4421.            BBS:NODE{x}/ENDCHAT.TXT(.GR). During chat, if ANSI mode is
  4422.            selected, your text will be a different color than the user ones.
  4423.  
  4424.  
  4425. <NO_DEF> "OL"  V0.25-0.26
  4426. <NO_DEF> "OLM" V0.25-0.26
  4427.  
  4428.         ^Included new Commandline Option: OL - OLM to a Port                     
  4429.         ^This OLM will even send a Message to the other Port if the User is
  4430.         ^Up or Downloading, Using a Door or is reading a Message. If it is
  4431.         ^that Case it will send the Message AFTER he is finished with
  4432.         ^whatever he is just doing.
  4433.  
  4434.     [ R ] - Read Mail:
  4435.         ~~~~~~~~~
  4436.         This command is used to access the on-line mailing system to read
  4437.         mail either to the user or for all users.  It is also used when a
  4438.         certain message will be replied to.
  4439.  
  4440.         1. First the bbs shows the read prompt
  4441.  
  4442.            A>gain D>elete F>ile R>eply S>earch Q>uit <CR>=Next ( a+b )?
  4443.  
  4444.              (1). A>gain, displays the message currently on again.
  4445.                           (specified by the 'a' in the above line)
  4446.  
  4447.              (2). D>elete, allows the user to delete a message only
  4448.                            if he left the message or the message is to him.
  4449.                            Also a user with access of 210+ can delete any
  4450.                            mail.
  4451.  
  4452.              (3). F>ile, will test if there is any Attached File to
  4453.                          download.
  4454.  
  4455.              (4). R>eply, allowes the user to reply to the current message.
  4456.                           The bbs will place the user on the SUBJECT: field
  4457.                           with the previous subject and place the cursor on
  4458.                           the end of the line. If the user wants to change
  4459.                           the subject he can delete over the existing subject
  4460.                           and enter a new one, or hitting return will keep the
  4461.                           old subject.
  4462.                           After this, the bbs will ask if the reply should
  4463.                           be private, and by default this is set to No.
  4464.                           Next, the bbs will ask whether to quote the current
  4465.                           message in the reply, again the default is No.
  4466.                           if the user selected Yes to quote the message, the
  4467.                           entire message will be re-displayed and the bbs will
  4468.                           prompt the user with the following:
  4469.  
  4470.                           Enter Startline,Endline or (*=ALL, A=Abort):
  4471.  
  4472.                           Where the user would have to type either a '*' to
  4473.                           quote the whole message specify start and end 
  4474.                           lines seperated by a comma.
  4475.                           Then the user would be put in the on-line message
  4476.                           editor to enter his message. Commands for the editor
  4477.                           work in much the same way as the Enter Message
  4478.                           command. For more information, please re-read the
  4479.                           ENTER MESSAGE Command.
  4480.  
  4481.              (5). <CR=Next>, let you continue search for new messages 
  4482.  
  4483.              (6). "EH" - This allows the sysop to edit a messages
  4484.                          Header. You can change who the msg is to,
  4485.                          from, the subject and whether it is to be
  4486.                          a private message.
  4487.  
  4488. <ERRATA>.......have to explain how I configure to use PlusED V2.0
  4489.              (7)  "E"  - Edit Message.  This can use both S!X internal
  4490.                          and a specified EXTERNAL EDITOR.  
  4491.  
  4492.              (8)  "U"  - This allows you to IMMEDIATELY go to the
  4493.                          ACCOUNT EDITOR while reading messages from
  4494.                          any user.  Note that it calls up the account
  4495.                          of the person who sent (FROM:)
  4496.  
  4497. <NO_DEF>     "A" ABORT
  4498. <NO_DEF>     "T" Touch Message-----
  4499.  
  4500.  
  4501.     [ S ] - Status of On-Line User:
  4502.         ~~~~~~~~~~~~~~~~~~~~~~
  4503.         This command simply reports the users' current information pertaining
  4504.         to his account. This is in the form of:
  4505.  
  4506.                             (123456789)
  4507.                 Conf Access: XXXXXXXXX
  4508.                 Caller Num.: 2049
  4509.                 Lst Date On: 05-14-91
  4510.                 Security Lv: 30
  4511.                 # Times On : 579
  4512.                 Ratio DL/UL: Disabled
  4513.                 # Downloads: 0
  4514.                 # Uploads  : 0
  4515.                 Bytes DL'd : 0
  4516.                 Bytes UL'd : 1
  4517.                 Online Baud: 16800
  4518.                 Rate CPS UP: 0
  4519.                 Rate CPS DN: 0
  4520.                 Screen  Clr: NO
  4521.                 Bytes Avail: 0
  4522.  
  4523.                 If the option "RELATIVE_CONFERENCE" is turned on in the
  4524.                 ACP.STARTUP the Conference Access Information is turned off.
  4525.  
  4526. <NO_DEF> "SS" V0.24-0.25  
  4527.  
  4528.  
  4529.     [ T ] - Time, at the system site:
  4530.         ~~~~~~~~~~~~~~~~~~~~~~~~
  4531.         This command reports back to the user what the internal battery backed
  4532.         up clock at the bbs site is set at.  Local time/date stamp function.
  4533.  
  4534.     [ U ] - Upload File(s):
  4535.         ~~~~~~~~~~~~~~
  4536.         This command puts the bbs in the file receive mode, where the remote
  4537.         user can send files to the system.
  4538.  
  4539.         1. The bbs first checks to see if there are file directories to be
  4540.            uploaded to, by looking at BBS:CONF/NDIRS. If this file is
  4541.            unavailable or reports zero, the user is returned back to the
  4542.            MAIN MENU PROMPT after a message stating "No files available in this
  4543.            conference."
  4544.  
  4545.         2. If a file called UPLOADMSG.txt(.gr) exists in BBSTEXTS or the
  4546.            CONF() the bbs displays that to the user.
  4547.  
  4548.       3. The bbs now displays the Top Upload Speeders of the System....
  4549.  
  4550.         4. The bbs now calculates free disk space, the first number
  4551.            displayed, is the amount of free space on all the drives
  4552.            listed in BBS:AMI_DRIVES
  4553.  
  4554.               DH0:
  4555.               DH1:
  4556.               DH2:
  4557.               DH4:   <-- DH3: is not used for the bbs at all therefore
  4558.                               it is not in the list.
  4559.            
  4560.            ***NOTE*** In setting up S!X you must create the file called
  4561.            BBS:AMI_DRIVES.
  4562.            
  4563.            a.  UPDATE---Version 0.39y9  If BBS:Ami_Drives is non-existant
  4564.                it will now assume all Uploads/Downloads are only on the
  4565.                drive where the BBS is located!
  4566.  
  4567.            Only drives that contain download files for the bbs
  4568.            should be included, this way the user knows how much
  4569.            free space is left on the total system.
  4570.  
  4571.            The second number displayed is the amount of free space
  4572.            only in the BBS:CONF/UPLOAD directory.  This is so the
  4573.            bbs and the user know exactly how much space is available
  4574.            to receive uploads until the sysop does some maintance.
  4575.  
  4576.            Currently the bbs is content to allow uploads until the
  4577.            free space in BBS:CONF/UPLOAD is less than 2000000 bytes
  4578.  
  4579.         5. At this point the bbs calls the resume routine to check
  4580.            if there are any files to resume on, this works the same
  4581.            as explained under the 'G'oodbye command.
  4582.  
  4583.         6. The bbs will then ask the user to enter the filenames of the
  4584.            files he will be uploading, or he can press return alone to
  4585.            have zmodem tell the bbs the names.  Specifing an 'A' will
  4586.            abort out of upload altogether and drop the user back to the
  4587.            main prompt.
  4588.  
  4589.         7. If the user enters the filenames, the bbs will check to make
  4590.            sure they don't already exist in the conference, if not the
  4591.            bbs will ask him to enter the description for each file.
  4592.            You can choose in your Extended Config how many lines the User
  4593.            can use for his discription. Entering a blank line to end the
  4594.            description.
  4595.  
  4596.         8. Next the bbs will display:
  4597.            (Enter) to Start, (G)oodbye after transfer, (A)bort?
  4598.            this works the same as specified in the download routines.
  4599.  
  4600.         9. At this point if the user has not been added to the end of
  4601.            BBS:NODE{x}/UDLOG he will be.
  4602.  
  4603.        10. If the Upload will now be started the bbs will check in the file
  4604.            you specified for the NODE* FilesNotAllowed option in ACP if this
  4605.            file is not allowed to be uploaded and will skip the upload.
  4606.  
  4607.      11. If the Upload finished correctly the bbs checks if the User
  4608.            uploadcps was higher than the last Top Speeder User... if it
  4609.            is higher the bbs will display a little text that the user is
  4610.            now the fastest UploadCps User and then write it down..
  4611.  
  4612.        12. The bbs displays the stats from the transfer for all the
  4613.            files.
  4614.  
  4615.        13. The users time is credited for the uploads.
  4616.  
  4617.        14. Next the bbs goes thru the files sent and checks to see if
  4618.            the name is longer than 12 characters, if so the bbs asks
  4619.            the user to rename the file.
  4620.  
  4621.        15. The bbs then checks to see if the user has already given
  4622.            the descriptions for the file, if so it posts it accordingly.
  4623.  
  4624.        16. If the user has not already given the description the bbs
  4625.            asks for the description for the file.  Again giving 8 lines
  4626.            for the description.
  4627.  
  4628.        17. If the user gets disconnected while entering the description
  4629.            the bbs will put "LOSS CARRIER" for the description.
  4630.            and place the file in the BBS:CONF/LCFILES directory
  4631.            along with a <usernumber>.lc file which will contain a list
  4632.            of all the files he will need to enter descriptions for
  4633.            when he calls back. The Re-Enter description process is
  4634.            done at log on with the PartUploads routine.
  4635.  
  4636.        18. Once the description has been entered the bbs checks if there
  4637.            is a door called "FILECHECK" in the SYS.CMD customcommand file
  4638.            and if it exists it will be executed and the normal "FCHECK"
  4639.            will be skipped. Here you can use a internal door for checking
  4640.            your files.
  4641.            If the door doesn`t exists express will check if there is a
  4642.            file extension. (a file extension is usually on 3 characters
  4643.            preceeded by a '.'.)
  4644.  
  4645.               Express now compares the extension if any with files
  4646.               of the same extension name in the BBS:FCheck directory.
  4647.  
  4648.               Files in the Fcheck directory specify that you are using
  4649.               external file checkers. The format for each file is
  4650.               as follows
  4651.  
  4652.                    ----cut here----
  4653.                    <Checker Name>
  4654.                    <option>        <---- if no option you must use the space.
  4655.                    <error text>
  4656.                    <error text>    <---- This text should reflect what
  4657.                    ----cut here----      the external checker will display
  4658.                                          in the event of a bad file.
  4659.                    
  4660.  
  4661.                    ie:
  4662.                    ----cut here----
  4663.                    DMS
  4664.                    Test
  4665.                    Fatal Error
  4666.                    Invalid
  4667.                    ----cut here----
  4668.                                 ^
  4669.                                 |
  4670.                                  ------ Save this as BBS:Fcheck/DMS
  4671.  
  4672.               If no external checker exists for the file then it
  4673.               proceeds to step B.
  4674.  
  4675.        19. If the archive is checked and it passes the bbs puts
  4676.            a 'P' between the filename and filesize in the listing.
  4677.  
  4678.        20. If the archive is checked and if found bad then the bbs
  4679.                 puts a 'F' between the filename and filesize in the listing.
  4680.  
  4681.        21. If the file is not one of the above checkable file types
  4682.            then the bbs puts a 'N' between the filename and the
  4683.            filesize in the listing.
  4684.  
  4685.        22. Now the bbs will post the file in a listings area.  If the
  4686.            user specified a '/' at the beginning of the description
  4687.            for the file, or the file failed archive check, or the
  4688.            user got disconnected then the bbs posts the file to the
  4689.            end of BBS:CONF/HOLD/HELD  If the archive passed or wasn't
  4690.            checkable and the user didn't specify a '/' at the beginning
  4691.            of the description then the bbs will post the file to the
  4692.            end of BBS:CONF/DIR{u} where u is the upload directory (or
  4693.            the highest directory available)
  4694.  
  4695.        23. If when the bbs goes to move the file, like to the hold
  4696.            directory and there is already a file in the hold with the
  4697.            same name, the bbs will add a '_' to the end of the filename
  4698.            until it can rename it to there.
  4699.  
  4700.        24. Once all the file are exhausted the bbs checks to make sure
  4701.            there aren't any free floating files in the BBS:NODEx/PLAYPEN
  4702.            directory, if there are the bbs moves the files to
  4703.            BBS:CONF/PARTUPLOAD as partially uploaded files from the
  4704.            current user online.
  4705.  
  4706.     [ V ] - View a Text File:
  4707.         ~~~~~~~~~~~~~~~~
  4708.         This command allows the user to view the contents of a TEXT file
  4709.         located in the BBS:CONFNAME/UPLOAD directory.  For Co-Sysop's with
  4710.         240+ security, TEXT files can be viewed from any valid system path.
  4711.  
  4712.         1. The bbs first checks to see if there are file dirs in that conf.
  4713.            by looking at BBS:CONF/NDIRS. if this file is unavailable or
  4714.            reports zero, the user is returned back to the MAIN MENU PROMPT
  4715.            after a message stating "No files available in this conference."
  4716.  
  4717.         2. The bbs then asks the user for the filename to view.
  4718.  
  4719.         3. If the users access is greater than 200 and he specified
  4720.            'VS' instead of just 'V' then allow the filename to
  4721.            include the path.  The sysop view is noted at the end
  4722.            of BBS:NODE{x}/CALLERSLOG what file was viewed.
  4723.  
  4724.         4. The bbs then displays the file as long as the characters
  4725.            in the file are < 128 in value.  If a character is
  4726.            greater than 127 then the bbs says "This file is not a
  4727.            text file." and drops back to the main prompt.
  4728.  
  4729.              NOTE: If a file has a comment of RESTRICTED then the user
  4730.                    will not be able to view the file. If an attempt was
  4731.                    made then the users name will be annotated in the
  4732.                    BBS:NODE{x}/CallersLog
  4733.  
  4734.     [ W ] - Write User Parameters:
  4735.         ~~~~~~~~~~~~~~~~~~~~~
  4736.         This command allows the user to change some personal items pertaining
  4737.         to his account on the system.
  4738.         When called, this command brings up the following:
  4739.  
  4740.                 1. Name        : Mike Thomas
  4741.                 2. From        : Dover, NH
  4742.                 3. Phone       : 603-555-1212
  4743.                 4. Password    : ??????
  4744.                 5. NumLines    : 23
  4745.                 6. Computer    : Amiga 2000/GVP030
  4746.                 7. Scrn Clr    : No
  4747.                 8. ANSI        : Yes
  4748.                 9. QUICKLOGON  : DISABLED
  4749.                 A. Logon WHO   : YES
  4750.                 B. MailScan    : YES
  4751.                 C. QuietNode   : DISABLED
  4752.                 D. Language    : English
  4753.                 E. Protocol    : Z-Modem
  4754.                 F. Reply Text  : ON
  4755.                 G. Msg Sentby: : "Creator" of the ORIGINAL AmiExpress BBS
  4756.                 Which to change <CR>= QUIT ?
  4757.  
  4758.          At this prompt, the user can select which item to change, or hit
  4759.          return alone to exit from this routine.
  4760.          1.  All of the fields can be ENABLED/DISABLED by the SYSOP in
  4761.              various fields of your ACP.STARTUP, so read the chapter on
  4762.              configuring ACP.STARTUP completely
  4763.          2.  Several fields are controlled by BBS:SYSTEM/ commands such
  4764.              as Logon WHO, QUICKLOGON.  
  4765.          3.  Language can be changed using the appropriate catalog, and
  4766.              protocol can now be changed having HydraCOM, S-Modem and
  4767.              future protocols in BBS:SYSTEM
  4768.          
  4769.          MailSCAN now shows % done, type of messages you will receive,
  4770.          Subject/Sender/# of all message to you, and whether they are
  4771.          EALL/Private/Public as of V0.39q9.
  4772.  
  4773.  
  4774.     [WHO] - Node Information:
  4775.         ~~~~~~~~~~~~~~~~
  4776.         This command shows the user which users are online on the other nodes
  4777.         and what they are doing actually. If ya choose QUIETNODE for a 
  4778.         specified node, this node will be skipped in displaying it at this
  4779.         information.
  4780.  
  4781.     [ X ] - Expert Mode Toggle:
  4782.         ~~~~~~~~~~~~~~~~~~
  4783.         This command allows the user to switch between eXpert and Novice mode
  4784.         where expert mode will not display the menu unless a '?' is specified
  4785.         at the command line and Novice will redisplay the menu after every
  4786.         command issued and completed.
  4787.  
  4788.     [ Z ] - Zippy Search:
  4789.         ~~~~~~~~~~~~
  4790.         This command allows the user to scan thru all the BBS:CONFNAME/DIR{x}
  4791.         files for a match for a specified string.
  4792.         When it finds a match, it displays the whole filespec including the
  4793.         description.
  4794.         If the BBS:CONFNAME/NDIRS file reports zero or does not exist, then
  4795.         zippy search will not be functional.
  4796.  
  4797.     [ ZOOM ] - Zoom Mail:
  4798.            ~~~~~~~~
  4799.            Zoom mail has been reinstalled into Ami-Express and now relies
  4800.            on current compression schemes provided by modem manufacturers
  4801.            instead of Zoo, as zoo has a tendency to crash the amiga 
  4802.            in certain instances.  ZOOM will compile all the user's unread
  4803.            mail from ALL accessable conferences into a freely downloadable
  4804.            file that will be auto-matically added to the flaglist for 
  4805.            downloading.
  4806.  
  4807.       This sums up the REGULAR USER COMMANDS of Ami-Express BBS. The following
  4808.       section deals with advanced configuration methods for optimum
  4809.       performance from the BBS software.  Included in the next section also
  4810.       are example scripts for many different external functions and doors.
  4811.  
  4812.  
  4813. 12.1. CHAPTER 12A S!X Online Help System CREATION and USAGE
  4814.       =====================================================
  4815.  
  4816. **************************************************************
  4817. CHAPTER 12.1 S!X "Online Help System" CREATION and USAGE
  4818. **************************************************************
  4819.  
  4820. <NO_DEF>
  4821.       Explain the "^" command and BBS:HELP to create your own
  4822.       complete "online help library".
  4823.  
  4824.  
  4825. 13. CHAPTER 13 S!X Custom Commands File Setup/Usage
  4826.     ===============================================
  4827.  
  4828. **************************************************************
  4829. CHAPTER 13 S!X "Custom Commands" File Setup/Usage         
  4830. **************************************************************
  4831.  
  4832.       Custom Commands is the key to making the new Modules work on AmiExpress
  4833.       All you have to do is specify the Module name you would like users to  
  4834.       use, in a file called BBS.CMD or CONF{x}.CMD, this file can go in the  
  4835.       BBS:Commands directory. If the Door is listed in the CONF{x}.CMD or    
  4836.       BBS.CMD file then the door will be executed.                           
  4837.                                                                              
  4838.       The format is as follows:                                              
  4839.       ~~~~~~~~~~~~~~~~~~~~~~~~                                               
  4840.  __________ COMMAND TO ENTER MODULE                                          
  4841. |          _______ MODULE TYPE ( SEE BELOW FOR EXPLAINATION OF TYPES ALLOWED)
  4842. |         | ________ MULTI or SINGLE NODE MODULE                             
  4843. |         || _________ SECURITY ACCESS LEVEL                                 
  4844. |         |||   ________MODULE LOCATION AND FILENAME                         
  4845. |         |||  |                                                             
  4846. |         |||  |                                                             
  4847. v         vvv  v                                                             
  4848. BB        XS020BBS:BulletinBoard                                             
  4849. Bulletins XM030BBS:BulletinBoard                                             
  4850. CoSysop   XS040WORK:CoSysop/CoSysop                                          
  4851. Test      RM050bbs:rexx/test.rexx                                            
  4852. spawn     RS001pgdoors:hacker/misc/rxx.maint                                 
  4853. hacker    RM100pgdoors:hacker/hacker.strip                                   
  4854. motel     RS090pgdoors:motel/motel!                                          
  4855.                                                                              
  4856. NOTE: That this is a formatted file, The module type must be in position     
  4857.       11 and the path and filename of the module must be in position 16.     
  4858.                                                                              
  4859. OPTIONAL RETARD COMMANDS FORMAT                                              
  4860.                                                                              
  4861.  ____________ TRUNCATE COMMAND COMPARISON.                                   
  4862. |  __________ COMMAND TO ENTER MODULE                                        
  4863. | |         _______ MODULE TYPE ( SEE BELOW FOR EXPLAINATION OF TYPES ALLOWED
  4864. | |        | ________ MULTI or SINGLE NODE MODULE                            
  4865. | |        || _________ SECURITY ACCESS LEVEL                                
  4866. | |        |||   ________MODULE LOCATION AND FILENAME                        
  4867. | |        |||  |                                                            
  4868. | |        |||  |                                                            
  4869. v v        vvv  v                                                            
  4870. *BB       XS020BBS:BulletinBoard                                             
  4871. *Test     RM050bbs:rexx/test.rexx                                            
  4872.                                                                              
  4873. MODULE TYPE  - Module type may be any of the following:                      
  4874.                                                                              
  4875.              X,R,P      X = This means the module is an AmiExpress module.   
  4876.                         R = This means the module is an Arexx module.        
  4877.                             Which means RexxDoor will be called to           
  4878.                             execute it.                                      
  4879.                         P = This means the module is a Traditional module,   
  4880.                             so the BBS will launch ParaDoor to execute this  
  4881.                             module.
  4882.  
  4883.  NOTE: RETARD COMMANDS- Could not think of a better name for it but the '*'
  4884.        at the beginning of the module name indicates that if the first part
  4885.        of the command from the menu prompt matches the module name then it 
  4886.        will assume you made a mistake when typing the command, Otherwise   
  4887.        it would not find the module name and try to execute an internal    
  4888.        command in the BBS.                                                 
  4889.                                                                            
  4890.        IE: Looking above at the 'Test' Module if we did not have the '*'   
  4891.            then a user could accidently type 'Testit'. If this did occur   
  4892.            then express would not be able to locate the module named TestIt
  4893.            and therefore execute the internal 'T' command which would      
  4894.            result in the user getting the system time instead of the test. 
  4895.                                                                            
  4896.        Using the RETARD command is a good why of overriding internal BBS   
  4897.        commands with commands of your own.
  4898.  
  4899.  
  4900. 13.1. CHAPTER 13.1 (DizExtract) Automatic File Description System
  4901.       ===========================================================
  4902.  
  4903. **************************************************************
  4904. CHAPTER 13.1 (DizExtract) Automatic File Description System
  4905. **************************************************************
  4906.  
  4907.    S!X includes the capability to using a new system of automatic file
  4908.    descriptions called: File_ID.Diz support.  To utilize this new 
  4909.    system, you must have several programs such as LHA, DMS, LZX, SHR
  4910.    and other compression systems in your appropriate paths.  In 
  4911.    addition you will need a few special "3rd party utilities", such
  4912.    as DMSDizExtract and others.  There are several variations of
  4913.    these; we will leave each SYSOP chose his favorite versions.
  4914.    
  4915.    1.  FIRST create a Directory called BBS:DizExtract
  4916.    
  4917.    2.  SECOND create ASCII text files inside BBS:DizExtract for each
  4918.        type of compressed files you wish to use the File_ID.Diz
  4919.        feature.  That is you will create files with names such as:
  4920.        BBS:DizExtract/LHA.... for LHA Files
  4921.        BBS:DizExtract/DMS.... for LZH Files
  4922.  
  4923.    3.  THIRD you must edit each of these files with your favorite
  4924.        text editor, providing the following information:
  4925.  
  4926.        1st Line: NAME & PATH to archive extraction program.
  4927.  
  4928.        2nd Line: "Archivers" command syntax for "extracting" information.                                 
  4929.       
  4930.                  NOTE:  If this archive format requires no <args> for
  4931.                         extraction place a SPACE [ ] in LINE 2.  **DO NOT*
  4932.                         just hit a line return [CR]......there must be
  4933.                         a SPACE [ ] just as is required to use S!X FCheck
  4934.                         features.
  4935.  
  4936.        3rd Line: Place this archive types "Text String" here.  It is 
  4937.                  common that many "DIZ UTILS" do not require a special
  4938.                  command here, so a notice such as: Finished  Done
  4939.                  will suffice.  However some "3rd party utils" do 
  4940.                  require special strings, so read the docs that came
  4941.                  with that particular S!X DIZ utility.
  4942.        
  4943.        EXAMPLES: DMS          LHA    GIF         ZIP
  4944.                  parachange   LHA    GifDesc     c:execute
  4945.                  dmsdiz x     x      e           bbs:DizExtract/Unzip_Diz
  4946.                  THANX        Done   Finished    Completed
  4947.  
  4948.  
  4949. 13.2. CHAPTER 13.2  Using New BBS:Systems Commands and Directory
  4950.       ==========================================================
  4951.  
  4952. **************************************************************
  4953. CHAPTER 13.2  Using New BBS:Systems Commands and Directory
  4954. **************************************************************
  4955.  
  4956.    Very early in S!X's development, we decided that the system
  4957.    should be:
  4958.    1.  More flexible....allowing many 'hard-coded' S!X functions
  4959.                         to be moved to EXTERNAL utilities which
  4960.                         would allow other to program/update 
  4961.                         current or new functions into S!X BBS.
  4962.    2.  Speed/Code Size..this allowed S!X's "Express" & "Acp"
  4963.                         to be a central 'engine', but allow
  4964.                         several other executable programs to
  4965.                         handle tasks.  It keeps S!X code size
  4966.                         lower, speeds processes (akin to the
  4967.                         whole idea of multi-tasking where
  4968.                         "Express" and "Acp" are the CPU processor).
  4969.  
  4970.    3.  **NOTE ME**  All BBS:SYSTEM/ programs MUST be "XIM", since
  4971.        no operations are performed nor addressable via
  4972.        BBS:COMMANDS/bbs.cmd, BBS:Conf(x).cmd, nor normally via
  4973.        BBS:COMMANDS/sys.cmd
  4974.         
  4975.        ( There 'may be?' cases where BBS:SYSTEM/ commands are     )
  4976.        ( supported via BBS:COMMANDS/sys.cmd due to modifing the   )
  4977.        ( InternalCommand() function of S!X to search also in      )
  4978.        ( BBS:COMMANDS/sys.cmd as well as BBS:SYSTEM/.....you will )
  4979.        ( need to "field test" and read each util's documentation  )
  4980.        ( carefully as to installation and <args> it supports.  
  4981.  
  4982.    Several commands exist for the BBS:System directory.  Several
  4983.    are included/required for basic operation of S!X; many others
  4984.    are optional and provided by either S!X Development or 3rd
  4985.    party programmers.  Unlike custom commands ( "Doors" and your
  4986.    bbs.cmd file) these can not be directly entered at any prompt.
  4987.    Rather they are activated/controlled via special ~MCI scripts,
  4988.    BBS:Commands/sys.cmd file, and other special texts you can
  4989.    create to modify/control your BBS's operations.
  4990.  
  4991.    Due to the many avaiable alternatives, I will hereing list
  4992.    those commands known to S!X as sys.cmd.......and briefly
  4993.    outline what each can do.
  4994.  
  4995.    ANSI         --->  Replaces the "ANSI Yes/No" question at LOGON.
  4996.  
  4997.    ARCCHECK     --->  This allows using a special external checker
  4998.                       in BBS:System.  Uses MM_MAINLINE to get Path/<name>
  4999.                       and DT_GOODFILE to return values.
  5000.  
  5001.    BGCHECK      --->  Allow checking of files "in the background, which
  5002.                       currently (V0.39u6) was Noisy Belch's ßeta version
  5003.                       of BGchecker. 
  5004.  
  5005.    DESCRIPTOR   --->  Replaces the internal "File Description Editor"
  5006.                       with the appropriate XIM Module you chose.
  5007.                       (**NOTE** I've never seen a really good one yet
  5008.                        ....so if anyone has one, send it to "Doc")
  5009.  
  5010.    DUPECHECK    --->  This automatically checks Dir(s) for
  5011.                       "duplicate files".  It could also be
  5012.                       programmed to check Path() or ULpath()
  5013.                       specified in a Conf().
  5014.       1.  If this Door returns a FAILED_TEST (like most Filecheckers
  5015.           if test NOT successful), it will skip the remainder of
  5016.           checking and move the file to your HOLD along with the
  5017.           description of the file.
  5018.  
  5019.    EDITOR       --->  V0.39u3  Belch EDITOR V0.4ßeta.  Now S!X offers
  5020.                       a FULLSCREEN EDITOR option in BBS:system which we
  5021.                       are testing.  Obtain a copy of this program and
  5022.                       its documentation to learn of all its features.
  5023.    
  5024.    EXAMINE      --->  Use this to take advantage of a File_ID Door.
  5025.                       (Note: Internal One has been taken out a few         
  5026.                       Days ago, going to provide a new EXTERNAL One       
  5027.                       Made by the "Master" himself.. (errr)               
  5028.    EXAMINE1-9   --->  Just incase you`d like to run more than one EXAMINE  
  5029.                       Door (e.g.: a Door to print out the Date of the      
  5030.                       File_Id.Diz File into the File Listing (DizDater))
  5031.  
  5032.                       a.  Right after running the BBS:SYSTEM/EXAMINE Door,
  5033.                           S!X will search for EXAMINE(1-9) and run them
  5034.                           consecutively if found.  **BE CERTAIN THEY ARE
  5035.                           NUMBERED CONSECUTIVELY to use this feature.
  5036.  
  5037.                       Example: BBS:SYSTEM/Examine     (***EXISTS***)
  5038.                                BBS:System/Examine1    (***EXISTS***)
  5039.                                BBS:System/Examine2    (***EXISTS***)
  5040.                                BBS:System/Examine3    (***EXISTS***)
  5041.  
  5042.                       b.  In the above case, S!X first runs "Examine",
  5043.                           and then runs Examine(1-3) consecutively.
  5044.                        
  5045.  
  5046.    FILECHECK    --->  This automatically checks new "Uploads"
  5047.  
  5048.    FILEID       --->  This is a TOTALLY "EXTERNAL" File_ID.Diz extracting
  5049.                       Door you might use to extract your file descriptions.
  5050.  
  5051.    FILEPROC     --->  Detects files in Conf()/LCfiles older than (xx)
  5052.                       days and prompts User(s) if they can enter a
  5053.                       description.
  5054. <ERRATA>              ......think in "newer S!X" this can also be named
  5055.                       ......FILEPROCESSOR, and can be configed to will
  5056.                       ......ask User(s) to identify any file in LCfiles
  5057.                       ......without waiting (xx) days or for the User
  5058.                       ......who U/Led it to describe.
  5059.                     
  5060.  
  5061.                       for integrity.
  5062. <NO_DEF>
  5063.    FRONTEND     --->  Could be used to replace the {PortStatus()}
  5064.                       in front of every LOGON.
  5065.  
  5066. <VERIFY>
  5067.    MENU         --->  ***RESERVED*** for future use
  5068.  
  5069. <NO_DEF>
  5070.    MOVEFILE     --->  ***RESERVED*** for future use
  5071.  
  5072.    NEWFILES     --->  Replaces S!X's "N" Menu Function.
  5073.  
  5074.    PAGER        --->  Replaces the internal Sysop Page (must be a FULL
  5075.                       replacement, not a Sysop Page FrontEnd)
  5076.  
  5077.    PWCHECK      --->  Replaces S!X's internal Password Checking Routine.
  5078.                       1.  Note this function is used with /X V3.-V4x to
  5079.                           covert /X USER.DATA to S!X format; everyone
  5080.                           should have this small ASM routine which was
  5081.                           programmed by Chris (Calypso), S!X Development
  5082.  
  5083.    PWFAIL       --->  Runs a "Door" if user has excessive password fails,
  5084.                       i.e. Can send message to SYSOP (MsgBase/Page/Logs)
  5085. <NO_DEF>
  5086.    SCANMAIL     --->  ***RESERVED*** for future usage
  5087.  
  5088. <NO_DEF>
  5089.    SHOWFILE     --->  ***RESERVED*** for future usage
  5090.   
  5091.  
  5092.    STATUS       --->  Replacement for the Status Display.  Will be
  5093.                       executed right after the User logged on in place of
  5094.                       the old "Status Display" routine.
  5095.  
  5096.    SMODEM       --->  Place the SMODEM executable in your BBS:System for
  5097.                       use of the S-Modem PROTOCOL.  A new field was added
  5098.                       to the User's "W" command to select this protocol.
  5099.  
  5100.    SYSTEMPW     --->  Replaces the System Password Prompt (including
  5101.                       the Private Text) 
  5102.  
  5103. <VERIFY>
  5104.    UPDESC       --->  **RESERVED** for future usage
  5105.  
  5106.    USERFRONT    --->  Using this Door you can TOTALLY replace the S!X logic
  5107.                       sequence where S!X asks for the user NAME/PASSWORD.
  5108.                       This door is akin to the method which can be
  5109.                       utilized with MS_DOS PC-Board.
  5110.                         
  5111.  
  5112.    WHO          --->  Replaces the internal WHO Command.
  5113.  
  5114.    ZIPPY        --->  Replaces S!X's "Z" Menu Function
  5115.  
  5116.  
  5117. 13.3. CHAPTER 13.3 Using Internal Commands File with S!X
  5118.       ==================================================
  5119.  
  5120. **************************************************************
  5121. CHAPTER 13.3 Using "Internal Commands" File with S!X
  5122. **************************************************************
  5123.  
  5124.    You've now read about the "bbs.cmd" file which controls commands
  5125.    your users generally have access to use and "sys.cmd" which control
  5126.    certain internal funcions such as filechecking.
  5127.    
  5128.    For completeness there is a third type called "Internal Commands"
  5129.    which uses a file named:  BBS:Commands/int.cmd
  5130.  
  5131.    The syntax is equivalent to that of your "BBS.CMD" file, i.e.
  5132.  
  5133.    /- Cut here -\
  5134.    TA         XM001Doors:TestArchives/TA                            
  5135.    VA         XM001Doors:ViewArchives/VA
  5136.    /- Cut here -\
  5137.  
  5138.    Using "int.cmd" file makes S!X treat this external program as if
  5139.    it were the INTERNALLY HARD-CODED into S!X itself.  The logic is
  5140.    that these become your "DEFAULT COMMANDS"....and are so specified
  5141.    as such cleared in this file.
  5142.  
  5143.    1.  This will avoid confusion with the "bbs.cmd" file, which is
  5144.        more clearly used for those special interest doors (i.e.
  5145.        Games/Trivia/Humor) you might install.
  5146.    
  5147.    2.  ***SEE BBS:SYSTEM***  As we work with S!X Programmers and 3rd
  5148.        party programmers which allow us permission to "use their work"
  5149.        they will be moved to the BBS:SYSTEM dir and appropriate new
  5150.        BBS:SYSTEM "CommandNames" (i.e. PWFAIL ANSI EDITOR) will be added
  5151.        that you can use by placing the program directly in BBS:SYSTEM.
  5152.  
  5153.        That is:  If you see an appropriate <DEFAULT NAME> reading
  5154.                  the chapter on BBS:SYSTEM, you no longer need to
  5155.                  use the BBS:Commands/int.cmd file.  We've tested and
  5156.                  approved this as a "standard feature" we will support
  5157.                  in all S!X versions.
  5158.    
  5159.    3.  Those new SYSTEM type commands we/you are evaluating can be
  5160.        made "internal" until we decide YES/NO to creating the appropriate
  5161.        new FileNames() for BBS:SYSTEM.
  5162.        
  5163.        Should we chose not to use a program you really like, then you
  5164.        can still use it as an "Internal DEFAULT" by using this new
  5165.        INT.CMD file in your BBS:Command Directory.
  5166.  
  5167. 14. CHAPTER 14 (MCI) Macro Command Interpreter Commands/Usage
  5168.     =========================================================
  5169.     
  5170. **************************************************************
  5171. CHAPTER 14 (MCI) Macro Command Interpreter Commands/Usage
  5172. **************************************************************
  5173.  
  5174.       Any text file may contain imbedded control sequences which will send out
  5175.       variable text or cause certain things to happen.                        
  5176.  
  5177.       IN USING THESE SEQUENCES:
  5178.  
  5179.       1.  ALL COMMANDS ARE "Case Sensitive"!!!!
  5180.       2.  ~MCI Commands are always terminated with an '|' or ' ' !!!!!
  5181.                                                                         
  5182.           EXAMPLE: BBS:BBSTexts/logon.txt 
  5183.  
  5184.           ~                                                                          
  5185.           ~CC_ANNLOGON|                                                              
  5186.           ~SS_bbs:screens/logon1.txt|                                                
  5187.           ~SP|                                                                       
  5188.           ~SS_bbs:screens/INFO.txt|                                                  
  5189.           ~SP|                                                                       
  5190.           ~CC_SCAN| 
  5191.  
  5192.           EXAMPLE: A little msg. in a COnf()/Msgbase
  5193.            
  5194.           Having a line in a text file that contains:          
  5195.           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           
  5196.           ~N , I hope everything is going well in ~L .  (NOTE " ")         
  5197.                                                            
  5198.           Might show:                                          
  5199.           ~~~~~~~~~~                                           
  5200.           Gregg Green, I hope everything is going well in Ohio.
  5201.       
  5202.       MCI - Introducer:                                                       
  5203.       ~~~~~~~~~~~~~~~~                                                        
  5204.       ~ This is the MCI introducer, this must be at the beginning of          
  5205.         each text file by itself inorder for Express to switch to the MCI     
  5206.         interpreter for displaying the text file.                             
  5207.                                                                               
  5208.       MCI - User Specification:                                               
  5209.       ~~~~~~~~~~~~~~~~~~~~~~~~                                                
  5210.                                                                               
  5211.       ~N            User Name                                                      
  5212.       ~UL           User Location                                                  
  5213.       ~P            User PasswordP                                                 
  5214.       ~#            User Phone                                                     
  5215.       ~TC           Total User Calls                                               
  5216.       ~LC           User Last Call to the system                                   
  5217.       ~M            User Message Posted                                            
  5218.       ~A            User Access Level                                              
  5219.       ~S            User Slot Number                                               
  5220.       ~CA           User Conf. Access    **** NOTE CHANGED FROM X ****             
  5221.       ~BR           User BaudRate                                                  
  5222.       ~HW           User Computer Equipment                                        
  5223.       ~TL           User Inital Time Limit at logon in Minutes                     
  5224.       ~TR           User Number of Mins Remaning today                             
  5225.       ~UB           User Bytes Uploaded                                            
  5226.       ~DB           User Bytes Downloaded                                          
  5227.       ~FU           User Files Uploaded                                            
  5228.       ~FD           User Files Downloaded                                          
  5229.       ~BD           User Byte Download Limit                                       
  5230.       ~LG           User Logged On-Node                                            
  5231.       ~Dx           Change the MCI command terminator.                             
  5232.                      i.e: ~D.| will change the '|' to '.'                          
  5233.       ~cx           Change foreground ansi color to anything from 0-f.             
  5234.       ~bx           Change background ansi color to anything from 0-f.             
  5235.       ~h            Back Space                                                     
  5236.       ~q            Change to default ANSI mode.                                   
  5237.       ~f            Clear Screen.                                                  
  5238.       ~nx           Newlines where x is the number of them you would like          
  5239.       ~~             This indicates you wish the ~ symbol to apprear, you can      
  5240.                      have as many of them as you like after the first ~ to
  5241.                      display them (NOTE: no ',' on this command)                           
  5242.       ~xn           Goto X position on screen. ie: ~x10                            
  5243.       ~yn           Goto Y position on screen. ie: ~y10                            
  5244.                                                                               
  5245.                     NOTE: The above commands allow you to specify a width
  5246.                           identifier before the action test.. ie:                                             
  5247.                           ~10N only displays first 10 letters of username.     
  5248.                                                                               
  5249.       MCI - System Specification:                                             
  5250.       ~~~~~~~~~~~~~~~~~~~~~~~~~~~                                             
  5251.                                                                               
  5252.       ~SC           System Total calls
  5253. <VERIFY>
  5254.       ~O            Number of the other users current Online
  5255.                      (not implemented...)                                              
  5256.       ~CT           Show current Time                                               
  5257.       ~DT           Show current Date
  5258.  
  5259.       MCI - Extra Specification:                                                
  5260.       ~~~~~~~~~~~~~~~~~~~~~~~~~                                                 
  5261. <VERIFY>
  5262.       ~CL           Will generate a list of all your Conf() for joinconf.txt
  5263. <VERIFY>
  5264.       ~CD           Disable CTRL-C during showfile
  5265. <VERIFY>
  5266.       ~CE,          Enable  CTRL+C during showfile....(not implemented)
  5267. <NODEF>
  5268.       ~HMI          Version V0.39s1  Drops Carrier if users viewing a file
  5269.                      and S!X encounters this sequence.
  5270.                                                                           
  5271.       ~CR           Will wait for any key to be pressed.                          
  5272.       ~CR_Prompt    Will wait for and prompt the user to press any key.           
  5273.                      ie: ~CR_PressAnyKey                                           
  5274.       ~SP           Will do a standard pause, this is useful to put in            
  5275.                      between each ~SS command.                                     
  5276.       ~SR_Format    Will show a random txt file based on the file format          
  5277.                      given and the max number of txt files given. ie:              
  5278.                      ~10SR_BBS:Screens/Logon                                       
  5279.                                                                                 
  5280.                      This will tell express to choose a number between 1-10        
  5281.                      and use that number to show the corosponding txt file:        
  5282.                                                                                 
  5283.                      Say the BBS choose number 2, then express would attempt       
  5284.                      to show the file:  BBS:Screens/Logon2.txt                                        
  5285.                                                                                 
  5286.                      This features replaces the auto logon & logoff random-        
  5287.                      ization routines found in earlier versions of express.        
  5288.                                                                                 
  5289.       ~SS_Name      Show <name> file. This file may also be an MCI file.          
  5290.                 
  5291.                       WARNING: This command could cause a serious loop
  5292.                                problem if you tell it to show the same file
  5293.                                you are viewing.   
  5294.                       WARNING: You may need to increase STACK if you nest to
  5295.                                many of these files.                                      
  5296.                                                                                 
  5297.                       NOTE:    If this command is accessed via the message
  5298.                                base or the View or ViewSysop commands, then
  5299.                                the file you are going to view has to have a
  5300.                                file comment of 'Allowed' or '{xxx}Allowed'                             
  5301.                                                                                 
  5302.                                {xxx} specifies security level or above ie:             
  5303.                                                                                 
  5304.                                {050}Allowed, idicates that only those over
  5305.                                or equal to access level of 50 are allowed
  5306.                                to view the file.                                      
  5307.  
  5308.       
  5309.       ~SZ_Path+Filename
  5310.  
  5311. <VERIFY WORKS>      With this command you can do a ZModem Send D/L of the file
  5312.                      specified behind the MCI command.
  5313.  
  5314. <VERIFY>            1.  This is **NOT POSSIBLE** in MsgBases for security
  5315.                         reasons against "hacking".....will think about method
  5316. <VERIFY>
  5317.                     2.  It is **NOT POSSIBLE** to use the ~SS_Path+Filename|  
  5318.                         MCI command when using SYS.CMD Doors to display either
  5319.                         TEXT =or= BINARY.  This should prevent the "hacking"  
  5320.                         attempts ( V0.34 on a suggestion by "Doc")
  5321.  
  5322. <ERRATA>            3.  Steve is working on a way to "get around this" with
  5323.                         PRIVATE MAIL...........
  5324.                                           
  5325.       ~CC_Name      Launch a door 'Name' is the door's name.                      
  5326.                      ie: ~CC_WHO will look in SYS.CMD, BBS.CMD and CONF.CMD        
  5327.                      customcommands which must be located in the            
  5328.                      BBS:Commands directory.                                   
  5329. <VERIFY>
  5330.       ~SE(x)        Turn OFF Output of screen if user has not access to
  5331.                     conf.(x)...(NOT IMPLEMENTED)
  5332. <VERIFY>
  5333.       ~SD(x)|       Turn Output BACK on that was disabled with previous
  5334.                     command...(NOT IMPLEMENTED)                                                                                
  5335.                                                                                 
  5336. 14.1. CHAPTER 14.1 Using BBSTexts Dir to Display Texts/Screens/Ansi
  5337.       =============================================================
  5338.  
  5339. **************************************************************
  5340. CHAPTER 14.1 Using BBSTexts Dir to Display Texts/Screens/Ansi
  5341. **************************************************************
  5342.  
  5343.    As of S!X V0.18, we centralized many of what commonly are
  5344.    know as "Menus" or "Conference Texts".  We found that /X
  5345.    (AmiExpress) and other BBSs required having numerous redundant
  5346.    copies of the same text in many different locations, and we
  5347.    decided to reduce this redundency by using a central directory
  5348.    for these.
  5349.  
  5350.    This also made creating a new "Conference" much easier; we no
  5351.    longer had to duplicate many different texts as they all could
  5352.    be in a central area.  HOWEVER......we saved the ability for
  5353.    each SYSOP to still have these texts in each "Conference" if
  5354.    each area actually had different information.
  5355.  
  5356.    1.  S!X searches for the <text> in the "Current Conf()", then
  5357.        searches in BBStexts for a centralized copy used with all
  5358.        your Conf().  This gives you the maximum flexibility.
  5359.  
  5360.        LET ME REPEAT......it first searches in your Node() or
  5361.                           Conf() files for the given text, and if
  5362.                           not found searches in BBSTexts.
  5363.                           
  5364.        We did it this way to give you maximum flexibility how you
  5365.        configure your S!X, or the ability to show different texts
  5366.        in different Node() or Conf().
  5367.  
  5368.    2.  The format of each textfile is: <NAME>[accesslevel].txt[.gr]
  5369.        where:
  5370.        NAME =          name of the text
  5371.        ACCESS LEVEL =  (Optional) the access level needed for this
  5372.                        text to be displayed.  If *NONE* is specified
  5373.                        then all users can see this text.
  5374.        TYPE =          This tells S!X what type of text format, and
  5375.                        therefore how to display this text.
  5376.                        .txt = either plain BLACK/WHITE or COLOR
  5377.                               texts.  If you use COLOR, then the
  5378.                               user would have to use the "M" menu
  5379.                               function to avoid seeing the text in
  5380.                               a color format
  5381.                        .txt.gr = COLOR CODED.  This is for those
  5382.                               which wish both BLACK/WHITE and COLOR
  5383.                               coded texts.
  5384.                        .rip = RIP graphics.  This is a special gfx/text
  5385.                               format which uses the RIPcomm format 
  5386.                               popular in MS-Dos.  If .RIP is not
  5387.                               available, it defaults back to your
  5388.                               normal .txt format.       
  5389.  
  5390.  
  5391.        a.  Please note that using both ".txt" and ".txt.gr" is
  5392.            very redundant and **NOT REQUIRED**.  The user can turn
  5393.            color display ON/OFF via the standard "M" menu function.
  5394.            So this is an older feature; we keep as a few people
  5395.            do prefer having both text versions.
  5396.  
  5397.     3. NOTE: a.  If <.txt> not shown, you do not need any ending extension
  5398.                  such as:  .txt   .txt.gr  for this file.     
  5399.              
  5400.              b.  <lvl> <baud> are **OPTIONAL**.  S!X defaults to using
  5401.                  TextName().txt first; if NOT FOUND it then searches for
  5402.                  the same TextName<lvl> or TextName<baud>.
  5403.  
  5404.     4. Changed "Logic Order" of how BBStexts are displayed.  Now S!X
  5405.        first searches for .TXT | .RIP | .TXT.GR without any <lvl> or
  5406.        access levels.  If not found then it increases the <lvl> and
  5407.        continues searching for a text at that <lvl>.
  5408.  
  5409.        a.  As explained above, using .TXT.GR is quite redundant.  It
  5410.            was also EXTREMELY REDUNDANT for most systems to have the
  5411.            same text with all these <lvl>s; most folks show the same
  5412.            text to all users with perhaps a "few" exceptions.
  5413.            
  5414.            This change speeds up S!X seaching and displaying of BBSTexts
  5415.            significantly and makes maintaining BBSTexts much simpler.
  5416.        
  5417.  
  5418.    DIRECTORY: BBS:BBSTexts
  5419.    AwaitScreen.txt  ---> "Await Logon Screen" is screen you see while
  5420.                          waiting for someone to LOGON to a Node().  Used
  5421.                          to be hardcoded into S!X but now editable.
  5422.    BBSHelp.txt<lvl> ---> Help screen to show how to use S!X.  Usually
  5423.                          used in connections with "^" and S!X Online
  5424.                          Help Menu Systems.
  5425.    Bull<lvl>.txt    ---> Centralized replacement for "General User BULL"
  5426.    Computerlist     ---> List of ComputerTypes your BBS supports.  Data
  5427.                          is saved to USER.DATA for your/their info.
  5428.    DownloadMsg.txt  ---> Displays to User upon downloading files from
  5429.                          your system to thank him and remind him what
  5430.                          value there is using your system.
  5431.    EndChat<lvl>.txt ---> Displays a message to user when "Chat" ended.
  5432.    GuestLogon.txt   ---> Displayed to "New Users" without accounts
  5433.                          in your USER.DATA to tell them about your BBS.
  5434.    Join.txt         ---> Displayed to "New Users" if they say they
  5435.                          want access before Application starts.
  5436.    Joined.txt       ---> Displayed to "New Users" just after finishing
  5437.                          your Application.
  5438.    JoinConf<lvl>.txt---> Displays available Conf(s) on your system.
  5439.    Languages        ---> List of Languages (FRENCH/ENGLISH/ETC) supported.
  5440.                          a.  The Lanugages text can exist in either
  5441.                              BBSTexts or BBS:Node() and must have the
  5442.                              following format:
  5443.  
  5444.                              LINE 1:    Number of Languages Used
  5445.                              LINE 2-xx: Names of the Langages
  5446.                              
  5447.                              EXAMPLE:
  5448.                              -----cut----
  5449.                              4
  5450.                              English
  5451.                              German
  5452.                              French
  5453.                              Swedish
  5454.                              -----cut----
  5455.                           
  5456. <ERRATA>                 b.  These languages must exists in _________
  5457.                              and requires using ___________ libraries.    
  5458.                            
  5459.    Lockout-<lvl>.txt---> LEVELS=0,1,2  Displays text, based on USER.DATA
  5460.                          AccessLevel.....then hangs up on user.
  5461.    Logoff<lvl>.txt  ---> Displayed to users when they say "GoodBye"
  5462.    Logon<lvl>.txt   ---> Displayed to users when they LogOn to system.
  5463.    Logon24hrs.txt   ---> Displayed if user exceeds DAILY TIME LIMIT.
  5464.    MailScan-Header.txt-> Displayed to used just before starting a 
  5465.                          MailScan.
  5466.    MailScan-Tailer.txt-> Displayed to user just after completing a
  5467.                          MailScan
  5468.    Menu<lvl>.txt    ---> Displays available USER COMMANDS.
  5469.    NamesNotAllowed  ---> Create as ASCII text with names of "Users".
  5470.                          These names will not be allowed to be used.
  5471.    NewUserPW.txt    ---> If not in USER.DATA, user must know this
  5472.                          PASSWORD to get access even to apply.
  5473.    NoNewAt<Baud>    ---> *LOCKS* "New Users" from applying at given
  5474.                          <Baud> and displays text informing them.
  5475.    NoNewUsers       ---> Tells "New Users" you are not accepting
  5476.                          any applications at this time.
  5477. <NO_DEF>
  5478.    OnlyOnOnePort.txt---> 
  5479.    PhoneCheck       ---> If exists, asks last 4 digits of phone #,
  5480.                          then checks as "security" against USER.DATA
  5481.    Private.txt      ---> Used for "security" normally...displays 
  5482.                          before asking for your SYSTEM ACCESS "PASSWORD".
  5483.    Script<Baud>     ---> This is your "Application" in ~MCI encoded
  5484.                          format to ask "New Users" questions.
  5485.    StartChat<lvl>.txt--> Displays screen as you enter "Chat" mode.
  5486.    UploadMsg.txt    ---> Displays to user to thank him for uploading
  5487.                          to your system.
  5488.    UploadThx.txt    ---> You can now display a "Thanks for Upload"
  5489.                          message to be displayed after a successful
  5490.                          upload.  (Can also be in BBS:Conf() as well
  5491.                          as BBS:BBSTexts). 
  5492.  
  5493. 14.2. CHAPTER 14.2 USING SPECIAL <FileNames> TO CONTROL NODE(s)
  5494.       =========================================================
  5495.  
  5496. **************************************************************
  5497. CHAPTER 14.2 USING SPECIAL <FileNames> TO CONTROL NODE(s)
  5498. **************************************************************
  5499.  
  5500.    For those running multiple Node(s), it is often advisable to control
  5501. access, usage, baudrate, or other restricted access.  This can be due
  5502. to several reasons, but generally it is to maximize system usage.
  5503.    
  5504.    S!X allows certain special FILENAMES which will control certain
  5505. actions.  These are:
  5506.  
  5507.    NotThisNode      ---> This is a plain ASCII file containing the
  5508.                          "exact" USER NAMES of "users" you do not
  5509.                          wish using this Node().  If the user's name
  5510.                          exists, it will LOCK_OUT access.
  5511.  
  5512.    UsersAllowed     ---> This is basically another way around the
  5513.                          idea of having only certain users gaining
  5514.                          access to a particular Node().  For example,
  5515.                          let's assume Node(2) is your only 28.8 node
  5516.                          and you wish only users with 28.8 modems
  5517.                          to have access.
  5518.  
  5519.    NoHydra          ---> If this text exists in any Node(), it will
  5520.                          not allow using HydraCOM protocol for U/Ding.
  5521.                          (File can be any text such as, "Sorry, 
  5522.                           HydraCOM PROTOCOL not allowed at this time").
  5523.  
  5524.  
  5525. 14.3. CHAPTER 14.3 USING CONF() SPECIFIC COMMANDS/TEXTS/BULLS
  5526.       =======================================================
  5527.  
  5528. **************************************************************
  5529. CHAPTER 14.3 USING CONF() SPECIFIC COMMANDS/TEXTS/BULLS
  5530. **************************************************************
  5531.  
  5532.  1. S!X CONF() SPECIFIC "Texts" 
  5533.  
  5534.    The following "text" files are those which you can specially
  5535.    put in any Conf() to alter the behavior of that Conf().  We
  5536.    have not noted "texts" which now normally appear in BBS:BBSTexts
  5537.    directory, although most can be placed in a specific Conf() to
  5538.    give special displays in a specific Conf().  SEE BBSTexts for
  5539.    a description of the GENERAL TEXTS; (Done to reduce S!X Manual size).
  5540.  
  5541.    ------------------------------------------------------------------------
  5542.    PASSWORD         ---> If you have this text in any Conf(), it will
  5543.                          protect both MAINSCAN in the Conf() and
  5544.                          entry access.
  5545.                           
  5546.                          1.  Create a textfile in Conf(s) called PASSWORD
  5547.                          
  5548.                          2.  In this textfile place your "password" for
  5549.                              use of this Conf(s). 
  5550.                              
  5551.                              ****NOTE**** Do not put a [CR] or RETURN
  5552.                                           at the end of the "password".
  5553.    ------------------------------------------------------------------------ 
  5554.    NDIRS            ---> Former to S!X V0.39q5 it was REQUIRED to have a
  5555.                          file called NDIRS in each Conf(); this is NO
  5556.                          LONGER REQUIRED!  Now S!X "autoscans" beginning
  5557.                          at Dir(1) and continues INFINITELY until reaching
  5558.                          the highest DIR(#).
  5559.  
  5560.                          1.  Before you had to "Reboot" after creating a
  5561.                              new Dir(#) or changing NDIRS; this is no
  5562.                              longer required.
  5563.                          
  5564.                          2.  We STRONGLY SUGGEST keeping the NDIRS files
  5565.                              in each Conf() and keeping them accurate
  5566.                              as ***MANY UTILITIES OR "DOORS"*** still
  5567.                              require or seek this text and its information
  5568.                              EXAMPLES: BossNuke  TurboNewScan 
  5569.    ------------------------------------------------------------------------
  5570.    PATHS            ---> It is now possible to alter "Paths" without
  5571.                          rebooting.  We have changed S!X logic so that
  5572.                          it will look in your PATHS file on each search;
  5573.                          that is on "bootup" they are no longer stored
  5574.                          in memory but re-evaluated on each request.
  5575.    ------------------------------------------------------------------------
  5576. <ERRATA>....this should be "movable to BBS:BBSTexts
  5577.  
  5578.    UPLOADMSG.TXT    ---> Displays a message from the system, usually
  5579.                          thanking the User for uploading files
  5580. ---------------------------------------------------------------------------
  5581. <ERRATA>....this should be "movable to BBS:BBSTexts
  5582.    DOWNLOADMSG.TXT  ---> Displays a message after downloading, usually
  5583.                          hoping the user enjoys the files, reminding
  5584.                          him of his "ratios", or cajoling to also upload.
  5585.  
  5586.  
  5587. <NO_DEF>
  5588.  
  5589.    Need to add all notes regarding still using Conf().cmd files,
  5590.    Conf()/Bulletins, Conf() texts and similar files for a 
  5591.    SPECIFIC CONF()!!!
  5592. <VERIFY>
  5593.    Conf1.cmd - still in CONF() or in BBS:Commands 
  5594.    
  5595.  
  5596.  
  5597. 15. CHAPTER 15 S!X UTILITY PROGRAMMERS Door SemiPhores
  5598.     ==================================================
  5599.  
  5600. **************************************************************
  5601. CHAPTER 15 S!X UTILITY PROGRAMMERS' Door SemiPhores
  5602. **************************************************************
  5603.  
  5604.  
  5605. <ERRATA>   ***NOTE*** The following is a VERY, VERY INCOMPLETE LIST of
  5606.            all the available semiphore.  Only in trying to finally piece
  5607.            together the original /X V2.34 manual with the newer S!X
  5608.            manual that I have completed to date, did I finally get this
  5609.            all into any kind of coherent Chapters.
  5610.  
  5611.            Therefore, you will have to look thru both REVISION.DOC and
  5612.            the "Programmer's Packages" for all new semiphores until I
  5613.            can update this completely.  At least this gives you a starting
  5614.            point to write your 1st S!X compatable Door routines.
  5615.  
  5616.  
  5617.  
  5618. A. (AIM) AREXX INTERFACE MODULES
  5619.  
  5620.  
  5621.    The Arexx door interface requires a file called RexxDoor, It must be in
  5622.    located in your command path. This will also require an ASCII file
  5623.    called BBS.CMD or CONF{x}.CMD to be either located in the BBS:Commands
  5624.    directory. The format of this file will be discussed in the next
  5625.    section. RexxDoor will be launched each time an Arexx door is requested.
  5626.  
  5627.    Note: If a CARRIER LOSS is detected or a KeyBoard timeout is detect then
  5628.          an error code of 10 will be sent to the Arexx Script and RexxDoor
  5629.          will orderly close any ports to the BBS and itself from the Arexx
  5630.          Script.
  5631.  
  5632.    Now we want to discusse all the Arexx Commands which can be used to
  5633.    read & write information of the User & the BBS. These Arexx commands
  5634.    are only usefull if you wanna programm some tools for AmiExpress, and
  5635.    for that it is very hard to understand for a guy who never programmed
  5636.    arexx. But now lets go on:
  5637.  
  5638.    NOTE: These are internal and do not pertain to the Module Glue routines
  5639.          for designing doors.
  5640.  
  5641. B. (TIM) TRADITIONAL INTERFACE MODULES
  5642.  
  5643.    The Traditional interface provides the capability to run "DOORS"       
  5644.    designed for other Bulletin  Board Systems. This is not to say that it 
  5645.    will interpret all "DOORS" but some may work. The traditional interface
  5646.    requires a file called PARADOOR, which is supplied with AmiExpress and 
  5647.    must be located in a path that AmiExpress can find. If a CARRIER LOSS  
  5648.    is detected or a keyboard timeout is detected, the BBS will notify the 
  5649.    Module, but it is up to the Module to do an orderly halt.  Most door   
  5650.    programmers know how to close their doors properly. AmiExpress         
  5651.    automatically launches the PARADOOR so please do not run it yourself.
  5652.  
  5653.  
  5654. C. (XIM) EXECUTABLE INTERFACE MODULES
  5655.  
  5656.    This is the most "common" doortype, and was the type actually designed
  5657.    for use directly with /X and S!X.  Programmers should have a current
  5658.    "Programmer's Door Package" with the appropriate header/include files
  5659.    and a current list of all available semiphores.
  5660.  
  5661. <ERRATA>  02-22-96....again this is based on original /X V2.34 and has
  5662.                       yet to be totally updated to the current S!X V0.39u3
  5663.  
  5664.  
  5665.  
  5666. <ERRATA>  V0.39i  The entire "Script Door Interface" has never been docu-
  5667.           mented to my knowledge anywhere.  IT DOES EXIST!!!....
  5668.           
  5669.           Quoted from Revision.Doc:
  5670.            
  5671.           "Included new Door Type..: S - for SCRIPT.                                    
  5672.           You can now setup Script Doors.. they wont show anything on the
  5673.           User Side but might be helpful to start several Other Things.. 
  5674.           whatever...whatever you just want to start a Script to update your
  5675.           Bulletins. Now its easier...
  5676.  
  5677. D.       SCRIPT INTERFACE MODULES
  5678.         
  5679.          .......................see above <ERRATA>
  5680.  
  5681. <NO_DEF> .....see MISC as not described correctly yet.....
  5682.  
  5683. E.  (IIM) INTERNAL INTERFACE MODULES
  5684.  
  5685. <NO_DEF>
  5686.  
  5687. F.        SHELL INTERFACE MODULES
  5688.  
  5689.  
  5690. G.  PROGRAMMERS "SEMIPHORES" and STRUCTURES OF "DOORS"
  5691.  
  5692.  
  5693.    1.  STRUCTURE OF (XIM) DOORS
  5694.  
  5695.                 _____________ message structure for use with the XIMs
  5696.                |              NOTE: RexxDoors are translated to the same
  5697.                v                    structure via the RexxDoor utility
  5698.         struct JHMessage
  5699.         {
  5700.            struct Message Msg;   <----- msg structure
  5701.            char String[200];     <----- info buffer
  5702.            int Data;             <----- Read/Write & result indicator
  5703.            int Command;          <----- Command sent from door.
  5704.            int NodeID;           <----- reserved
  5705.            int LineNum;          <----- reserved
  5706.            unsigned long signal; <----- reserved
  5707.            struct Process *task; <----- see BB_GETTASK below
  5708.         } ;
  5709.  
  5710.         PORTNAME: The portname for the XIMs is 'AEDoorPort(n)'
  5711.  
  5712.                   Hereing the (n) stands for which NODE() you wish
  5713.                   to work with, ie: AEDoorPort1 = Node(1)
  5714.    
  5715.    2.  STRUCTURE FOR "WHO" DOORS
  5716.  
  5717.        struct SinglePort                                                           
  5718.        {                                                                           
  5719.        struct SignalSemaphore semi;                                                
  5720.        struct MinList sl_List;                                                     
  5721.        APTR  *MultiCom;      <-- Pointer to the MultiCom Address (Chatters)        
  5722.        UBYTE SemiName[20];   <-- NO IDEA :(                                        
  5723.        int Status;           <-- Enviroment Stats. like 03 = IDLE etc.             
  5724.                                  i.e. Tells what user is "doing"                   
  5725.        char Handle[31];      <-- Users Handle/Name (duh!)                          
  5726.        char Location[31];    <-- Users Location                                    
  5727.        char Misc1[100];      <-- Stores either FILENAME *OR* the DoorName.         
  5728.        char Misc2[100];      <-- Full Filesize of the current file on Transfer     
  5729.        int Conf[2];          <-- Number of the Conference the User is in
  5730.                                  (RELATIVE)
  5731.        long ActualSize;      <-- Actual Size of the transferred File (Position)    
  5732.        long CPS;             <-- Actual CPS of the current transfer                
  5733.        long BaudRate;        <-- This is new, has the Users BaudRate he logged     
  5734.                                  in with.                                          
  5735.        int QuietPort;        <-- If Port is Quiet this is 1 otherwise 0            
  5736.        USHORT UserNumber;    <-- <NEW! V0.39p1> Has the User.Slot_Number!
  5737.  
  5738.        Before it was updating the Semaphores on a Quiet Port so its loading in
  5739.        the Value of -2 for the UserisDoing Code. this is now not done anymore 
  5740.        instead it`ll fill in the QuietPort Value with an Integer of 1 if its  
  5741.        not Quiet its 0 - should give some more possibilities for Who Doors.
  5742.  
  5743.  
  5744.    3.  S!X FUNCTION # AND COMMAND NAMES FOR PROGRAMMERS
  5745.  
  5746.    COMMAND NAME   FUNCTION
  5747.     -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  5748.     
  5749.    ----------------------------------------------------------------------
  5750.    <FUNCTION #:  0>
  5751.    JH_LI          Requests a string of information from the user
  5752.                   with a default string.
  5753.  
  5754.                   msg->Command = 0
  5755.                   msg->String  = default result string
  5756.                   msg->Data    = Maximum length of response.
  5757.  
  5758.                   msg->Data will be set to a -1 if a loss carrier or console
  5759.                   timeout occurs, otherwise msg->Data will be 1
  5760.  
  5761.                   msg->String will be the response string from the user.
  5762.    ------------------------------------------------------------------------ 
  5763.    <FUNCTION #:  1> 
  5764.    JH_REGISTER    Registers a door or XIM with the current node.
  5765.  
  5766.                   msg->Command = 1
  5767.  
  5768.                   This must be the first command issued to the express node.
  5769.                   This increments the number of doors active for the current
  5770.                   node.
  5771.    ------------------------------------------------------------------------
  5772.    <FUNCTION #:  2>
  5773.    JH_SHUTDOWN    Tells the node that a door is shutting down, this decreases
  5774.                   the number of active doors inidicator , which once at 0, the
  5775.                   AEDoorPort will close.
  5776.  
  5777.                   msg->Command = 2
  5778.                   msg->Data    = N/A
  5779.    ------------------------------------------------------------------------
  5780.    <FUNCTION #:  3>
  5781.    JH_WRITE       Allows you to send a text string to the user.
  5782.  
  5783.                   msg->Command = 3
  5784.                   msg->String  = text
  5785.                   msg->Data    = N/A
  5786.    ------------------------------------------------------------------------
  5787.    <FUNCTION #:  4>
  5788.    JH_SM          Allows you to send a text string to the user.
  5789.  
  5790.                   msg->Command = 4
  5791.                   msg->String  = text
  5792.                   msg->Data    = 1 or 0
  5793.  
  5794.                   if msg->Data = 1, then a CR/LF combination will be sent.
  5795.    ------------------------------------------------------------------------
  5796.    <FUNCTION #:  5>
  5797.    JH_PM          Allows you to prompt the user for a specified number of
  5798.                   characters.
  5799.  
  5800.                   msg->Command = 5
  5801.                   msg->String  = prompt string
  5802.                   msg->Data    = maximum response length.
  5803.  
  5804.                   if msg->Data = -1, then a loss carrier has occured or a
  5805.                   timeout condition has occured, otherwise msg->Data = 1.
  5806.  
  5807.                   msg->String will be the user response.
  5808.    ------------------------------------------------------------------------
  5809.    <FUNCTION #:  6>
  5810.    JH_HK          Allows you to get a 1 character respinse from the user.
  5811.  
  5812.                   msg->Command = 6
  5813.                   msg->String  = text
  5814.                   msg->Data    = N/A
  5815.  
  5816.                   if msg->Data = -1, then a loss carrier has occured or a 
  5817.                   timeout condition has occured, otherwise msg->Data = 1.
  5818.  
  5819.                   msg->String will be the result string.
  5820.    ------------------------------------------------------------------------
  5821.    <FUNCTION #:  7>
  5822.    JH_SG          Allows you to display a text file to the user.
  5823.  
  5824.                   msg->Command = 7
  5825.                   msg->String  = part file name.
  5826.                   msg->Data    = N/A
  5827.  
  5828.                   ie:
  5829.  
  5830.                   msg->String = "BBS:Node1/Bull
  5831.  
  5832.                   This would try to display BBS:Node1/Bull.txt(.gr)
  5833.                   also takes into account language specifications.
  5834.  
  5835.                   This also searches for the access level patterns, ie:
  5836.  
  5837.                   Bull10.txt.gr, Bull100.txt.gr
  5838.    ------------------------------------------------------------------------
  5839.    <(FUNCTION #:  8>
  5840.    JH_SF          Allows you to display a text file to the user.
  5841.  
  5842.                   msg->Command = 8
  5843.                   msg->String  = Complete pathname
  5844.                   msg->Data    = N/A
  5845.  
  5846.                   ie:
  5847.  
  5848.                   msg->String  = "BBS:Node1/Bull.txt"
  5849.  
  5850.                   This would show the file if it exists.
  5851.    ------------------------------------------------------------------------ 
  5852.    <FUNCTION #:  9>
  5853.    JH_EF          Allows you to use the internal msgbase editor to edit your
  5854.                   own files.
  5855.  
  5856.                   msg->Command = 9
  5857.                   msg->String  = Complete pathname
  5858.                   msg->Data    = 0
  5859.  
  5860.                   if msg->Data = -1, then a loss carrier has occured or a 
  5861.                   timeout has occured, otherwise msg->Data will be 1.
  5862.    ------------------------------------------------------------------------
  5863.    <FUNCTION #: 10>
  5864.    JH_CO          Allows you to send text string to the console only.
  5865.  
  5866.                   msg->Command = 10
  5867.                   msg->String  = text
  5868.                   msg->Data    = 1 or 0
  5869.  
  5870.                   if msg->Data = 1, then a CR/LF combination will be sent in
  5871.                   addition to the text.
  5872.    ------------------------------------------------------------------------
  5873.    <FUNCTION #:  10>
  5874.    JH_BBSNAME     Allows you to retrieve the BBS Name.
  5875.  
  5876.                   msg->Command = 11
  5877.                   msg->Data    = N/A
  5878.  
  5879.                   msg->String will be the BBS name.
  5880.    ------------------------------------------------------------------------
  5881.    <FUNCTION #:  12>
  5882.    JH_SYSOP       Allows you to retrieve the Sysop's Name.
  5883.  
  5884.                   msg->Command = 12
  5885.                   msg->Data    = N/A
  5886.  
  5887.                   msg->String will be the Sysop name.
  5888.    ------------------------------------------------------------------------
  5889.    <FUNCTION #:  13>
  5890.    JH_FLAGFILE    Allows you to add files to the list of flagged files.
  5891.  
  5892.                   msg->Command = 13
  5893.                   msg->String  = FileName
  5894.                   msg->Data    = N/A
  5895.  
  5896.                   Adds the msg->String to the list of flagged files for 
  5897.                   downloading purposes, 
  5898.  
  5899.                   NOTE: The files must be in the download path for this to
  5900.                         work.
  5901.    ------------------------------------------------------------------------
  5902.    <FUNCTION #:  14>
  5903.    JH_SHOWFLAGS   Obsolete, DO NOT USE.
  5904.  
  5905.                   msg->Command = 14
  5906.  
  5907.    ------------------------------------------------------------------------
  5908.    <FUNCTION #:  15>
  5909.    JH_ExtHK       Reserved, DO NOT USE.
  5910.  
  5911.                   msg->Command = 15
  5912.    ------------------------------------------------------------------------
  5913.    <FUNCTION #:  16>
  5914.    JH_SIGBIT      Reserved, DO NOT USE.
  5915.  
  5916.                   msg->Command = 16
  5917.    ------------------------------------------------------------------------
  5918.    <FUNCTION #:  17>
  5919.    JH_FetchKey    Reserved, DO NOT USE.
  5920.  
  5921.                   msg->Command = 17
  5922.    ------------------------------------------------------------------------
  5923.    <FUNCTION #: 100>
  5924.    DT_NAME        Allows you to retrieve or change users name/handle
  5925.  
  5926.                   msg->Command = 100 
  5927.                   msg->Data    = 1 or 0
  5928.  
  5929.                   if msg->Data = 1, then msg->String will be the name.
  5930.                   if msg->Data = 0, then name will be msg->String
  5931.    ------------------------------------------------------------------------
  5932.    <FUNCTION #:  101>
  5933.    DT_PASSWORD    Allows you to retrieve or change users password
  5934.  
  5935.                   msg->Command = 101
  5936.                   msg->Data    = 1 or 0
  5937.  
  5938.                   if msg->Data = 1, then msg->String will be the password.
  5939.                   if msg->Data = 0, then the password will be msg->String.
  5940.    ------------------------------------------------------------------------
  5941.    <FUNCTION #:  102>
  5942.    DT_LOCATION    Allows you to retrieve or change users location
  5943.  
  5944.                   msg->Command = 102
  5945.                   msg->Data    = 1 or 0
  5946.  
  5947.                   if msg->Data = 1, then msg->String will be the location
  5948.                   if msg->Data = 0, then the location will be msg->String
  5949.    ------------------------------------------------------------------------
  5950.    <FUNCTION #:  103>
  5951.    DT_PHONENUMBER Allows you to retrieve or change users phone number.
  5952.  
  5953.                   msg->Command = 103
  5954.                   msg->Data    = 1 or 0
  5955.  
  5956.                   if msg->Data = 1, then msg->String will be the phonenumber
  5957.                   if msg->Data = 0, ten phonenumber will be msg->String
  5958.    ------------------------------------------------------------------------
  5959.    <FUNCTION #:  104>
  5960.    DT_SLOTNUMBER  Allows you to retrieve users slot number
  5961.  
  5962.                   msg->Command = 104
  5963.                   msg->Data    = 1
  5964.  
  5965.                   if msg->Data = 1, then msg->String will be the slotnumber.
  5966.    ------------------------------------------------------------------------
  5967.    <FUNCTION #:  105>
  5968.    DT_ACCESSLEVEL Allows you to retrieve or change users access level.
  5969.  
  5970.                   msg->Command = 105
  5971.                   msg->Data    = 1 or 0
  5972.  
  5973.                   if msg->Data = 1, then msg->String will be accesslevel.
  5974.                   if msg->Data = 0, then accesslevel will be msg->String.
  5975.    ------------------------------------------------------------------------
  5976.    <FUNCTION #:  106>
  5977.    DT_RATIOTYPE   Allows you to retrieve or change users ratiotype
  5978.  
  5979.                   msg->Command = 106
  5980.                   msg->Data    = 1 or 0
  5981.  
  5982.                   if msg->Data = 1, then msg->String will be ratiotype.
  5983.                   if msg->Data = 0, then ratiotype will be msg->String.
  5984.    ------------------------------------------------------------------------
  5985.    <FUNCTION #:  107>
  5986.    DT_RATIO       Allows you to retrieve or change users ratio
  5987.  
  5988.                   msg->Command = 107
  5989.                   msg->Data    = 1 or 0
  5990.  
  5991.                   if msg->Data = 1, then msg->String will be ratio.
  5992.                   if msg->Data = 0, then ratio will be msg->String.
  5993.    ------------------------------------------------------------------------
  5994.    <FUNCTION #:  108>
  5995.    DT_COMPTYPE    Allows you to retrieve or change users computertype code
  5996.  
  5997.                   msg->Command = 108
  5998.                   msg->Data    = 1 or 0
  5999.  
  6000.                   if msg->Data = 1, then msg->String will be computertype.
  6001.                   if msg->Data = 0, then computertype will be msg->String.
  6002.    ------------------------------------------------------------------------
  6003.    <FUNCTION #:  109>
  6004.    DT_MESSAGESPOSTED  Allows you to retrieve or change users messagesposted
  6005.  
  6006.                   msg->Command = 109
  6007.                   msg->Data    = 1 or 0
  6008.  
  6009.                   if msg->Data = 1, then msg->String will be messagesposted.
  6010.                   if msg->Data = 0, then messagesposted will be msg->String.
  6011.    ------------------------------------------------------------------------
  6012.    <FUNCTION #:  110>
  6013.    DT_UPLOADS     Allows you to retrieve or change number of useruploads.
  6014.  
  6015.                   msg->Command = 110
  6016.                   msg->Data    = 1 or 0
  6017.  
  6018.                   if msg->Data = 1, then msg->String will be uploads.
  6019.                   if msg->Data = 0, then uploads will be msg->String.
  6020.    ------------------------------------------------------------------------
  6021.    <FUNCTION #:  111>
  6022.    DT_DOWNLOADS   Allows you to retrieve or change number of userdownloads.
  6023.  
  6024.                   msg->Command = 111
  6025.                   msg->Data    = 1 or 0
  6026.  
  6027.                   if msg->Data = 1, then msg->String will be downloads.
  6028.                   if msg->Data = 0, then downloads will be msg->String.
  6029.    ------------------------------------------------------------------------
  6030.    <FUNCTION #:  112>
  6031.    DT_TIMESCALLED Allows you to retrieve or change number of usercalls.
  6032.  
  6033.                   msg->Command = 112
  6034.                   msg->Data    = 1 or 0
  6035.  
  6036.                   if msg->Data = 1, then msg->String will be timescalled.
  6037.                   if msg->Data = 0, then timescalled will be msg->String.
  6038.    ------------------------------------------------------------------------
  6039.    <FUNCTION #:  113>
  6040.    DT_TIMELASTON  Allows you to retrieve or change time user last called.
  6041.  
  6042.                   msg->Command = 113
  6043.                   msg->Data    = 1 or 0
  6044.  
  6045.                   if msg->Data = 1, then msg->String will be timescalled.
  6046.                   if msg->Data = 0, then timescalled will be msg->String.
  6047.  
  6048.                   NOTE: This is not a date stamp, this is the number of
  6049.                         seconds since January 19something.
  6050.    ------------------------------------------------------------------------
  6051.    <FUNCTION #:  114>
  6052.    DT_TIMEUSED    Allows you to retrieve or change timeused today.
  6053.  
  6054.                   msg->Command = 114
  6055.                   msg->Data    = 1 or 0
  6056.  
  6057.                   if msg->Data = 1, then msg->String will be timeused.
  6058.                   if msg->Data = 0, then timeused will be msg->String.
  6059.  
  6060.                   NOTE: This is in seconds.
  6061.    ------------------------------------------------------------------------
  6062.    <FUNCTION #:  115>
  6063.    DT_TIMELIMIT   Allows you to retrieve or change timeallowed for a user.
  6064.  
  6065.                   msg->Command = 115
  6066.                   msg->Data    = 1 or 0
  6067.  
  6068.                   if msg->Data = 1, then msg->String will be timelimit.
  6069.                   if msg->Data = 0, then timelimit will be msg->String.
  6070.  
  6071.                   NOTE: Time in seconds.
  6072.    ------------------------------------------------------------------------
  6073.    <FUNCTION #:  116>
  6074.    DT_TIMETOTAL   Allows you to retrive or change total time remaining.
  6075.                   for a user today.
  6076.  
  6077.                   msg->Command = 116
  6078.                   msg->Data    = 1 or 0
  6079.  
  6080.                   if msg->Data = 1, then msg->String will be time remaining.
  6081.                   if msg->Data = 0, then time remaining will be msg->String.
  6082.  
  6083.                   NOTE: Time in seconds.
  6084.    ------------------------------------------------------------------------
  6085.    <FUNCTION #:  117>
  6086.    DT_BYTESUPLOAD Allows you to retrieve or change bytes uploads per user.
  6087.  
  6088.                   msg->Command = 117
  6089.                   msg->Data    = 1 or 0
  6090.  
  6091.                   if msg->Data = 1, then msg->String will be bytesuploaded.
  6092.                   if msg->Data = 0, then bytesuploaded will be msg->String.
  6093.    ------------------------------------------------------------------------
  6094.    <FUNCTION #:  118>
  6095.    DT_BYTEDOWNLOAD  Allows you to retrieve or change bytes downloaded per
  6096.                     user.
  6097.  
  6098.                   msg->Command = 118
  6099.                   msg->Data    = 1 or 0
  6100.  
  6101.                   if msg->Data = 1, then msg->String will be bytesdownloaded.
  6102.                   if msg->Data = 0, then bytesdownloaded will be msg->String.
  6103.    ------------------------------------------------------------------------
  6104.    <FUNCTION #:  119>
  6105.    DT_DAILYBYTELIMIT   Allows you to retrieve or change a users daily byte 
  6106.                        download limit.
  6107.  
  6108.                   msg->Command = 119
  6109.                   msg->Data    = 1 or 0
  6110.  
  6111.                   if msg->Data = 1, then msg->String will be bytelimit.
  6112.                   if msg->Data = 0, then bytelimit will be msg->String.
  6113.    ------------------------------------------------------------------------
  6114.    <FUNCTION #:  120>
  6115.    DT_DAILYBYTEDLD  Allows you to retrieve or change daily bytes downloaded.
  6116.  
  6117.                   msg->Command = 120
  6118.                   msg->Data    = 1 or 0
  6119.  
  6120.                   if msg->Data = 1, then msg->String will be dailybytes.
  6121.                   if msg->Data = 0, then dailybytes will be msg->String.
  6122.    ------------------------------------------------------------------------
  6123.    <FUNCTION #:  121>
  6124.    DT_EXPERT      Allows you to retrieve or change expert mode.
  6125.  
  6126.                   msg->Command = 121
  6127.                   msg->Data    = 1 or 0
  6128.    ------------------------------------------------------------------------
  6129.    <FUNCTION #:  122>
  6130.    DT_LINELENGTH  Allows you to retrieve or change user linelength specs.
  6131.  
  6132.                   msg->Command = 122
  6133.                   msg->Data    = 1 or 0
  6134.  
  6135.                   if msg->Data = 1, then msg->String will be linelength.
  6136.                   if msg->Data = 0, then linelength will be msg->String.
  6137.    ------------------------------------------------------------------------
  6138.    <FUNCTION #:  123>
  6139.    ACTIVE_NODES   Allows you to retrieve a string of active&inactive nodes.
  6140.  
  6141.                   msg->Command = 123
  6142.                   msg->Data    = N/A
  6143.  
  6144.                   msg->String will be a string 10 bytes in length, with
  6145.                   'X's marking the active nodes.
  6146.  
  6147.                   NOTE: This command will surely be changing, the current
  6148.                         limit is 9 nodes.
  6149.    ------------------------------------------------------------------------
  6150.    <FUNCTION #:  124>
  6151.    DT_DUMP        Allows you to dump the user's data structure to a 
  6152.                   specified file.
  6153.  
  6154.                   msg->Command = 124
  6155.                   msg->String  = FileName
  6156.    ------------------------------------------------------------------------
  6157.    <FUNCTION #:  125>
  6158.    DT_TIMEOUT     Allows you to retrieve or change the door timeout limit.
  6159.  
  6160.                   msg->Command = 125
  6161.                   msg->Data    = 1 or 0
  6162.  
  6163.                   if msg->Data = 1, then msg->String will equal timeout.
  6164.                   if msg->Data = 0, then timeout will equal msg->String.
  6165.  
  6166.                   NOTE: This time is in seconds.
  6167.    ------------------------------------------------------------------------
  6168.    <FUNCTION #:  126>
  6169.    BB_CONFNAME    Allows you to retrieve or change the conference name.
  6170.  
  6171.                   msg->Command = 126
  6172.                   msg->Data    = 1 or 0
  6173.  
  6174.                   if msg->Data = 1, then msg->String will be name.
  6175.                   if msg->Data = 0, then name will be msg->String.
  6176.    ------------------------------------------------------------------------
  6177.    <FUNCTION #:  127>
  6178.    BB_CONFLOCAL   Allows you to retrieve or change the conference location.
  6179.  
  6180.                   msg->Command = 127
  6181.                   msg->Data    = 1 or 0
  6182.  
  6183.                   if msg->Data = 1, then msg->String will be location.
  6184.                   if msg->Data = 0, then location will be msg->String.
  6185.    ------------------------------------------------------------------------
  6186.    <FUNCTION #:  128>
  6187.    BB_LOCAL       Allows you to retrieve the current BBS location.
  6188.  
  6189.                   msg->Command = 128
  6190.                   msg->Data    = N/A
  6191.    ------------------------------------------------------------------------
  6192.    <FUNCTION #:  129>
  6193.    BB_STATUS      Allows you to retrieve the current status of the node.
  6194.  
  6195.                   msg->Command = 129
  6196.                   msg->Data    = N/A
  6197.  
  6198.                   msg->String will be 'OFFLINE' or 'ONLINE' depending on
  6199.                   whether a user is logged onto the node.
  6200.    ------------------------------------------------------------------------
  6201.    <FUNCTION #:  130>
  6202.    BB_COMMAND     Obsolete, DO NOT USE
  6203.  
  6204.                   msg->Command = 130
  6205.    ------------------------------------------------------------------------
  6206.    <FUNCTION #:  131>
  6207.    BB_MAINLINE    Allows you to retrieve the menu prompt arguments prior to
  6208.                   the door being entered.
  6209.  
  6210.                   msg->Command = 131
  6211.                   msg->Data    = N/A
  6212.  
  6213.                   msg->String will be the menu prompt arguments.
  6214.    ------------------------------------------------------------------------
  6215.    <FUNCTION #:  132>
  6216.    NB_LOAD        Obsolete, DO NOT USE
  6217.  
  6218.                   msg->Command = 132
  6219.    ------------------------------------------------------------------------
  6220.    <FUNCTION #:  133>
  6221.    DT_USERLOAD    Obsolete, DO NOT USE
  6222.  
  6223.                   msg->Command = 133
  6224.    ------------------------------------------------------------------------
  6225.    <FUNCTION #:  134>
  6226.    BB_CONFIG      Obsolete, DO NOT USE
  6227.  
  6228.                   msg->Command = 134
  6229.    ------------------------------------------------------------------------
  6230.    <FUNCTION #:  135>
  6231.    CHG_USER       Obsolete, DO NOT USE
  6232.  
  6233.                   msg->Command = 135
  6234.    ------------------------------------------------------------------------
  6235.    <FUNCTION #:  136>
  6236.    RETURNCOMMAND  Allows you to specify an internal command to be executed
  6237.                   when the door is finished.
  6238.  
  6239.                   msg->Command = 136
  6240.                   msg->Data    = N/A
  6241.  
  6242.                   command to be executed will be msg->String.
  6243.    ------------------------------------------------------------------------
  6244.    <FUNCTION #:  137>
  6245.    ZMODEMSEND     Allows you to send files to the user via Zmodem protocol.
  6246.  
  6247.                   msg->Command = 137
  6248.                   msg->String  = filename (complete pathname)
  6249.                   msg->Data    = N/A
  6250.  
  6251.                   result of transfer will be in msg->Data, where
  6252.  
  6253.                   if msg->Data = 1 , then transfer successful.
  6254.                   if msg->Data = -2, then user lost carrier.
  6255.                   if msg->Data = 0 , then transfer unsuccessful.
  6256.    ------------------------------------------------------------------------
  6257.    <FUNCTION #:  138>
  6258.    ZMODEMRECEIVE  Allows you to receive batch uploads via Zmodem protocol.
  6259.  
  6260.                   msg->Command = 138
  6261.                   msg->String  = receive directory path
  6262.                   msg->Data    = N/A
  6263.  
  6264.                   result of transfer will be in msg->Data, where
  6265.  
  6266.                   if msg->Data = 1 , then transfer successful.
  6267.                   if msg->Data = -2, then user lost carrier.
  6268.                   if msg->Data = 0,  then transfer unsuccessful.
  6269.    ------------------------------------------------------------------------
  6270.    <FUNCTION #:  139>
  6271.    SCREEN_ADDRESS Allows you to retrieve the screen address.
  6272.  
  6273.                   msg->Command = 139
  6274.                   msg->Data    = N/A
  6275.  
  6276.                   msg->String will be a string containing the hexadecimal
  6277.                   address of the Node screen.
  6278.    ------------------------------------------------------------------------
  6279.    <FUNCTION #:  140>
  6280.    BB_TASKPRI     Allows you to retrieve the priority the node is running at.
  6281.  
  6282.                   msg->Command = 140
  6283.                   msg->Data    = N/A
  6284.  
  6285.                   msg->String will contain the priority of the node.
  6286.    ------------------------------------------------------------------------
  6287.    <FUNCTION #:  141>
  6288.    RAWSCREEN_ADDRESS   Allows you to retrieve the screen address of the
  6289.                        node.
  6290.  
  6291.                   msg->Command = 141
  6292.                   msg->Data    = N/A
  6293.  
  6294.                   msg->String will be a string containing the decimal address
  6295.                   of the express node.
  6296.    ------------------------------------------------------------------------
  6297.    <FUNCTION #:  142>
  6298.    BB_CHATFLAG    Allows you to retrieve the current chat setting.
  6299.  
  6300.                   msg->Command = 142
  6301.                   msg->Data    = N/A
  6302.  
  6303.                   msg->String will be "ON" or "OFF".
  6304.    ------------------------------------------------------------------------
  6305.    <FUNCTION #:  143>
  6306.    DT_STAMP_LASTO   Allows you to retrieve a date string containing the date of
  6307.                     when the user last logged on.
  6308.  
  6309.                   msg->Command = 143
  6310.                   msg->Data    = N/A
  6311.  
  6312.                   msg->String will be the date string.
  6313.    ------------------------------------------------------------------------
  6314.    <FUNCTION #:  144>
  6315.    DT_STAMP_CTIME Allows you to retrieve a current time string.
  6316.  
  6317.                   msg->Command = 144
  6318.                   msg->Data    = N/A
  6319.  
  6320.                   msg->String will be a current time string.
  6321.    ------------------------------------------------------------------------
  6322.    <FUNCTION #:  145>
  6323.    DT_CURR_TIME   Allows you to retrieve the current time in seconds since
  6324.                   January something.
  6325.  
  6326.                   msg->Command = 145
  6327.                   msg->Data    = N/A
  6328.  
  6329.                   msg->String will be the current time.
  6330.    ------------------------------------------------------------------------
  6331.    <FUNCTION #:  146>
  6332.    DT_CONFACCESS  Allows you to retrieve the users conference access.
  6333.  
  6334.                   msg->Command = 146
  6335.                   msg->Data    = 1 or 0
  6336.  
  6337.                   if msg->Data = 1, then msg->String will be access string.
  6338.                   if msg->Data = 0, then access string will be msg->String.
  6339.  
  6340.                   NOTE: string consists of upto 9 'X' or '_'. ie:
  6341.  
  6342.                          123456789
  6343.                          ---------
  6344.                          X_XXXX_XX   <-- 'X' = access, '_' = no access
  6345.    ------------------------------------------------------------------------
  6346.    <FUNCTION #:  147>
  6347.    BB_PCONFLOCAL  Reserved, DO NOT USE
  6348.  
  6349.                   msg->Command = 147
  6350.    ------------------------------------------------------------------------
  6351.    <FUNCTION #:  148>
  6352.    BB_PCONFNAME   Reserved, DO NOT USE
  6353.  
  6354.                   msg->Command = 148
  6355.    ------------------------------------------------------------------------
  6356.    <FUNCTION #: 149>
  6357.    BB_NODEID      Allows you to retrieve the Node number for the current 
  6358.                   node
  6359.  
  6360.                   msg->Command = 149
  6361.                   msg->Data    = N/A
  6362.  
  6363.                   msg->String will be the node number.
  6364.    ------------------------------------------------------------------------
  6365.    <FUNCTION #:  150>
  6366.    BB_CALLERSLOG  Allows you to add a line of text to the callerslog.
  6367.  
  6368.                   msg->Command = 150
  6369.                   msg->String  = text
  6370.                   msg->Data    = N/A
  6371.    ------------------------------------------------------------------------
  6372.    <FUNCTION #:  151>
  6373.    BB_UDLOG       Allows you to add a line of text to the udlog.
  6374.  
  6375.                   msg->Command = 151
  6376.                   msg->String  = text
  6377.                   msg->Data    = N/A
  6378.    ------------------------------------------------------------------------
  6379.    <FUNCTION #:  152>
  6380.    EXPRESS_VERSION  Allows you to retrieve the current version string of 
  6381.                     express.
  6382.                   
  6383.                   msg->Command = 152
  6384.                   msg->Data    = N/A
  6385.    -------------------------------------------------------------------------
  6386.    <FUNCTION #:  153>
  6387.    SV_UNICONIFY   Reserved, DO NOT USE without first consulting the author
  6388.  
  6389.                   msg->Command = 153
  6390.    -------------------------------------------------------------------------
  6391.    <FUNCTION #:  162>
  6392.    BB_CHATSET    Allows you to retrieve or change the chat status.
  6393.  
  6394.                  msg->Command = 162
  6395.                  msg->Data    = 1 or 0
  6396.  
  6397.                  if msg->Data = 1, then msg->String will be current status.
  6398.                  if msg->Data = 0, then status will be msg->String.
  6399.    -------------------------------------------------------------------------
  6400.    <FUNCTION #:  162>
  6401.    ENVSTAT       Allows you to retrieve or change the current environment
  6402.                  stat variable code.
  6403.  
  6404.                  msg->Command = 163
  6405.                  msg->Data    = 1 or 0
  6406.  
  6407.                  if msg->Data = 1, then msg->String will be status.
  6408.                  if msg->Data = 0, then status will be msg->String.
  6409.    -------------------------------------------------------------------------
  6410.    <FUNCTION #:  500>
  6411.    GETKEY        Reserved, DO NOT USE.
  6412.  
  6413.                  msg->Command = 500
  6414.    -------------------------------------------------------------------------
  6415.    <FUNCTION #:  501>
  6416.    RAWARROW      Reserved, DO NOT USE.
  6417.  
  6418.                  msg->Command = 501
  6419.    -------------------------------------------------------------------------
  6420.    <FUNCTION #:  502>
  6421.    CHAIN         Reserved, DO NOT USE.
  6422.  
  6423.                  msg->Command = 502
  6424.    ------------------------------------------------------------------------
  6425.    <FUNCTION #:  503>
  6426.    NODE_DEVICE   Allows you to retrieve the node device name.
  6427.  
  6428.                  msg->Command = 503
  6429.                  msg->Data    = N/A
  6430.  
  6431.                  msg->String will be the device string.
  6432.    ------------------------------------------------------------------------
  6433.    <FUNCTION #:  504>
  6434.    NODE_UNIT     Allows you to retrieve the node unit number.
  6435.  
  6436.                  msg->Command = 504
  6437.                  msg->Data    = N/A
  6438.  
  6439.                  msg->String will be the current node number.
  6440.    ------------------------------------------------------------------------
  6441.    <FUNCTION #:  505>
  6442.    NODE_BAUD     Allows you to retieve the initialized baud rate of the node.
  6443.  
  6444.                  msg->Command = 505
  6445.                  msg->Data    = N/A
  6446.  
  6447.                  msg->String will be the init baud rate.
  6448.    ------------------------------------------------------------------------
  6449.    <FUNCTION #:  506>
  6450.    NODE_NUMBER   Obsolete, DO NOT USE.
  6451.  
  6452.                  msg->Command = 506
  6453.    ------------------------------------------------------------------------
  6454.    <FUNCTION #:  507>
  6455.    JH_MCI        Allows you to send mci text to express.
  6456.  
  6457.                  msg->Command = 507
  6458.                  msg->String  = text
  6459.                  msg->Data    = N/A
  6460.    ------------------------------------------------------------------------
  6461.    <FUNCTION #:  508>
  6462.    PRV_COMMAND   Allows you to immediately execute an internal express
  6463.                  menu command.
  6464.  
  6465.                  msg->Command = 508
  6466.                  msg->String  = commandstring
  6467.                  msg->Data    = N/A
  6468.    ------------------------------------------------------------------------
  6469.    <FUNCTION #:  509>
  6470.    PRV_GROUP     Reserved, DO NOT USE.
  6471.  
  6472.                  msg->Command = 509
  6473.    ------------------------------------------------------------------------
  6474.    <FUNCTION #:  510>
  6475.    BB_CONFNUM    Allows you to retrieve the current conference number.
  6476.  
  6477.                  msg->Command = 510
  6478.                  msg->Data    = N/A
  6479.  
  6480.                  msg->String will be conference number ranging from 0 to 8.
  6481.    ------------------------------------------------------------------------
  6482.    <FUNCTION #:  511>
  6483.    BB_DROPDTR    Allows you to drop carrier on a user.
  6484.  
  6485.                  msg->Command = 511
  6486.                  msg->Data    = N/A
  6487.    ------------------------------------------------------------------------
  6488.    <FUNCTION #:  512>
  6489.    BB_GETTASK    Finds the current nodes task address.
  6490.  
  6491.                  msg->Command = 512
  6492.                  msg->Data    = N/A
  6493.  
  6494.                  msg->task will be the express task address.
  6495.    ------------------------------------------------------------------------
  6496.    <FUNCTION #:  513>
  6497.    BB_REMOVEPORT Obsolete, DO NOT USE.
  6498.  
  6499.                  msg->Command = 513
  6500.    ------------------------------------------------------------------------
  6501.    <FUNCTION #:  514>
  6502.    BB_SOPT       Obsolete, DO NOT USE.
  6503.  
  6504.                  msg->Command = 514
  6505.    ------------------------------------------------------------------------
  6506.    <FUNCTION #:  516>
  6507.    NODE_BAUDRATE Allows you to retrieve the current users connect rate
  6508.  
  6509.                  msg->Command = 516
  6510.                  msg->Data    = N/A
  6511.  
  6512.                  msg->String will be the connect rate
  6513.    ------------------------------------------------------------------------
  6514.    <FUNCTION #:  517>
  6515.    BB_LOGONTYPE  Allows you to retrieve the LOGONTYPE.
  6516.  
  6517.                  msg->Command = 517
  6518.                  msg->Data    = N/A
  6519.  
  6520.                  msg->Data will be:
  6521.  
  6522.                  0 = AWAIT_LOGON
  6523.                  1 = SYSOP_LOGON
  6524.                  2 = LOCAL_LOGON
  6525.                  3 = REMOTE_LOGON
  6526.    ------------------------------------------------------------------------
  6527.    <FUNCTION #:  518>
  6528.    BB_SCRLEFT    Allows you to retrieve the screen coordinates.
  6529.  
  6530.                  msg->Command = 518
  6531.                  msg->Data    = N/A
  6532.  
  6533.                  msg->Data will be the Node's Initial leftedge coordinate.
  6534.    ------------------------------------------------------------------------
  6535.    <FUNCTION #:  519>
  6536.    BB_SCRTOP     Allows you to retrieve the screen coordinates.
  6537.  
  6538.                  msg->Command = 519
  6539.                  msg->Data    = N/A
  6540.  
  6541.                  msg->Data will be the Node's Initial topedge coordinate.
  6542.    ------------------------------------------------------------------------
  6543.    <FUNCTION #:  520>
  6544.    BB_SCRWIDTH   Allows you to retrieve the screen coordinates.
  6545.  
  6546.                  msg->Command = 520
  6547.                  msg->Data    = N/A
  6548.  
  6549.                  msg->Data will be the Node's Initial screen height.
  6550.    ------------------------------------------------------------------------
  6551.    <FUNCTION #:  521>
  6552.    BB_SCRHEIGHT  Allows you to retrieve the screen coordinates.
  6553.  
  6554.                  msg->Command = 521
  6555.                  msg->Data    = N/A
  6556.  
  6557.                  msg->Data will be the Node's Initial screen width.
  6558.    ------------------------------------------------------------------------
  6559.    <FUNCTION #:  522>
  6560.    BB_PURGELINE  Allows you to abort serial input.
  6561.  
  6562.                  msg->Command = 522
  6563.                  msg->Data    = N/A
  6564.  
  6565.                  aborts serial input and flushes the serial buffer and sends
  6566.                  a request for more input.
  6567.    ------------------------------------------------------------------------
  6568.    <FUNCTION #:  523>
  6569.    BB_PURGELINESTART  Allows you to CLEAR the serial buffer and request more
  6570.                       serial input.
  6571.  
  6572.                  msg->Command = 523
  6573.                  msg->Data    = N/A
  6574.    ------------------------------------------------------------------------
  6575.    <FUNCTION #:  524>
  6576.    BB_PURGELINEEND  Allows you to CLEAR the serial buffer.
  6577.  
  6578.                  msg->Command = 524
  6579.                  msg->Data    = N/A
  6580.    ------------------------------------------------------------------------
  6581.    <FUNCTION #:  525>
  6582.    BB_NONSTOPTEXT   Allows you to change the NONSTOP text scrolling flag.
  6583.  
  6584.                  msg->Command = 525
  6585.                  msg->Data    = 1 or 0
  6586.  
  6587.                  if msg->Data = 1, then display text will not pause.
  6588.                  if msg->Data = 0, then display text will pause.
  6589.    ------------------------------------------------------------------------
  6590.    <FUNCTION #:  526>
  6591.    BB_LINECOUNT     Allows you to retrieve or change the user's current
  6592.                     number of lines viewed.
  6593.  
  6594.                  msg->Command = 526
  6595.                  msg->Data    = 1 or 0
  6596.  
  6597.                  if msg->Data = 1, then msg->String will be current line.
  6598.                  if msg->Data = 0, then current line will be msg->String.
  6599.    ------------------------------------------------------------------------
  6600.    <FUNCTION #:  527>
  6601.    DT_LANGUAGE   Allows you to retrieve or change the current language
  6602.                  specifications. 
  6603.  
  6604.                  msg->Command = 527
  6605.                  msg->Data    = 1 or 0
  6606.  
  6607.                  if msg->Data = 1, then msg->String will be language.
  6608.                  if msg->Data = 0, then language will be msg->String.
  6609.  
  6610.                  NOTE: Languages need to be standardized, please what for
  6611.                        guidlines.
  6612.  
  6613.                  ie:  Default language .txt , .txt.gr
  6614.                       English          .Eng , .Eng.gr
  6615.                       German           .Ger , .Ger.gr
  6616.  
  6617.                       note that this only effects the menus, bulletins &
  6618.                       other screen text files.
  6619.    ------------------------------------------------------------------------
  6620.    <FUNCTION #:  528>
  6621.    DT_QUICKFLAG  Allows you to change the QUICKTEXT flag.
  6622.  
  6623.                  msg->Command = 528
  6624.                  msg->Data    = 1 or 0
  6625.  
  6626.                  if msg->Data = 1, then the QuickFlag will be set.
  6627.                  if msg->Data = 0, then the QuickFlag will not be set.
  6628.    ------------------------------------------------------------------------
  6629.    <FUNCTION #:  529>
  6630.    DT_GOODFILE   Allows you to set the results of a tested file after 
  6631.                  upload.
  6632.  
  6633.                  msg->Command = 529
  6634.                  msg->Data    = 1,0 or -1
  6635.  
  6636.                  if msg->Data is 1, then the file was not tested.
  6637.                  if msg->Data is 0, then the file passed the filetest.
  6638.                  if msg->Data is -1, then the file failed the filetest.
  6639.  
  6640.                  NOTE: This command is only useful with the sys.cmd door
  6641.                  called FILECHECK.
  6642.    ________________________________________________________________________
  6643.    <FUNCTION #:  608>
  6644.    QUICK_KEY     Tries seeing which Key has been pressed on User Side,
  6645.                  making it possible to detect things like CTRL-C or
  6646.                  CTRL-X pressing in a door.
  6647.  
  6648.                  msg->Command = 608
  6649.                  msg->Data    = not needed
  6650.                  msg->String  = not needed
  6651.  
  6652.                  It's give these values back:
  6653.  
  6654.                  msg-> = -1 if Carrier Lost
  6655.                          
  6656.                          Otherwise, it should give back the DECIMAL VALUE
  6657.                          of the key pressed.  (Example: \003 would be the
  6658.                          return value for a CTRL-C) using "C" code.  This
  6659.                          should be same way /X V3-4x is working.
  6660.    ------------------------------------------------------------------------
  6661.    <FUNCTION #:   900>
  6662.    DT_CONFACCESS Allow you to retrieve the users conference access.
  6663.  
  6664.                  msg->Command = 900
  6665.                  msg->Data    = 1 or 0
  6666.                                
  6667.                  if msg->Data = 1, then msg->String will be real access
  6668.                                    string
  6669.                  if msg->Data = 0, the access string will be msg->String
  6670.  
  6671.                  msg->String  = string consists of upto 25 'X' or '_'
  6672.                                 EXAMPLE:
  6673.                                 1234567890123456789012345
  6674.                                 -------------------------
  6675.                                 X_XXXX_XXXXX_X_X___XXXX_X
  6676.                                 ^                 ^
  6677.                                 |-'X'=ACCESS      |-'_'=NO ACCESS
  6678.    ------------------------------------------------------------------------
  6679.    <FUNCTION #:   901>
  6680.    DT_CBYTESUPLOAD   Allows you to retrieve or change bytes uploads per
  6681.                      user in the current Conference                                  
  6682.                                                                              
  6683.                  msg->Command = 901                                         
  6684.                  msg->Data    = 1 or 0                                      
  6685.                                                                              
  6686.                  if msg->Data = 1, then msg->String will be bytesuploaded.  
  6687.                  if msg->Data = 0, then bytesuploaded will be msg->String.  
  6688.    ------------------------------------------------------------------------
  6689.    <FUNCTION #:   902>
  6690.    DT_CBYTESDOWNLOAD Allows you to retrieve or change bytes downloaded per
  6691.                      user in the current Conference                                  
  6692.                                                                              
  6693.                  msg->Command = 902                                         
  6694.                  msg->Data    = 1 or 0                                      
  6695.                                                                              
  6696.                  if msg->Data = 1, then msg->String will be bytesdownloaded.
  6697.                  if msg->Data = 0, then bytesdownloaded will be msg->String.
  6698.    ------------------------------------------------------------------------
  6699.    <FUNCTION #:  903>
  6700.    DT_CFILESUPLOAD  Allows you to retrieve or change number of useruploads     
  6701.                     in the current Conference                                  
  6702.                                                                               
  6703.                  msg->Command = 903                                         
  6704.                  msg->Data    = 1 or 0                                      
  6705.                                                                               
  6706.                  if msg->Data = 1, then msg->String will be uploads.        
  6707.                  if msg->Data = 0, then uploads will be msg->String.        
  6708.    ------------------------------------------------------------------------
  6709.    <FUNCTION #:  904>
  6710.    DT_CFILESDOWNLOAD Allows you to retrieve or change number of userdownloads   
  6711.                      in the current Conference                                  
  6712.                                                                               
  6713.                  msg->Command = 904                                         
  6714.                  msg->Data    = 1 or 0                                      
  6715.                                                                               
  6716.                  if msg->Data = 1, then msg->String will be downloads.      
  6717.                  if msg->Data = 0, then downloads will be msg->String.      
  6718.    ------------------------------------------------------------------------
  6719.    <FUNCTION #:  905>
  6720.    BB_CONFACCOUNT Allows you to retrieve the current Conf Accounting Setting 
  6721.                   Also possibility to turn it ON or OFF                      
  6722.  
  6723.                  msg->Command = 905                                         
  6724.                  msg->Data    = 0 - will turn Conf Accounting OFF           
  6725.                                  1 - will turn Conf Accounting ON            
  6726.                                                                              
  6727.                  msg->String will be "ON" or "OFF".                         
  6728.                                                                              
  6729.    ------------------------------------------------------------------------
  6730.    <FUNCTION #:  906>
  6731.    DT_CALLEDTODAY Allows you to retrieve or change number of Calls a User    
  6732.                   has made THIS Day.                                         
  6733.                                                                               
  6734.                  msg->Command = 906                                         
  6735.                  msg->Data    = 1 or 0                                      
  6736.                                                                               
  6737.                  if msg->Data = 1, then msg->String will be timescalled.    
  6738.                  if msg->Data = 0, then timescalled will be msg->String.
  6739.    ------------------------------------------------------------------------
  6740. <ERRATA>.....not fully described
  6741.     This is one Steve put it so that #define EXPRESS VERION  152
  6742.                                      #define SXVERSION       907
  6743.     existed so that the "ACTUAL" is 907 but the "fake" we created to
  6744.     make all /X V2+ doors compatable shows as V2.3+
  6745.       
  6746.    <FUNCTION #:  907>
  6747.    ..............not yet adequately documented............
  6748.    ------------------------------------------------------------------------
  6749.    <FUNCTION #:  908>
  6750.     SIG_PLAYPEN  Allow you to retrieve the Pathname of the PlayPen if the   
  6751.                  SysOP used a different one than the default Playpen.
  6752.  
  6753.                  msg->Command = 908
  6754.                  msg->String  = String will contain the PathName.
  6755.                                 Example: DH1:Node1/Playpen/
  6756.    ------------------------------------------------------------------------
  6757.    <FUNCTION #:  909>
  6758.    ICONIFYQUERY  Allow you to retrieve the Status of the Current Node's
  6759.                  Window, i.e. "Iconified" or "Active"
  6760.  
  6761.                  msg->Command = 909
  6762.                  msg->String  = YES or NO, depending on whether it is
  6763.                                 "iconified" or not.
  6764.    ------------------------------------------------------------------------
  6765.    <FUNCTION #:  910>
  6766.    LOGON_UNAME   Used for the NEW USERFRONT System Door/Module.              
  6767.                  Will check/load the Username stored in msg->String          
  6768.                                                                                
  6769.                  msg->Command = 910                                          
  6770.                  msg->String  = String to Check for.                         
  6771.                                                                                
  6772.                  if msg->Data = 1, then User does not exist.                 
  6773.                  if msg->Data = 0, then User does exist.      
  6774.  
  6775.                  **NOTE** This function is only to be used with USERFRONT
  6776.                           Door, otherwise it could cause some problems.               
  6777.    ------------------------------------------------------------------------
  6778.    <FUNCTION #:  911>
  6779.    LOGON_UPASS   Used for the NEW USERFRONT System Door/Module.              
  6780.                  Will check/load the Password of the User specified using the
  6781.                  LOGON_UNAME Part described above.                           
  6782.                                                                                
  6783.                  msg->Command = 911                                          
  6784.                  msg->String  = String to Check for.                         
  6785.                                                                                
  6786.                  if msg->Data = 1, then Password is WRONG.                   
  6787.                  if msg->Data = 0, then Password is CORRECT.
  6788.  
  6789.                  **NOTE** This function is only to bbe used with USERFRONT
  6790.                           Door, otherwise it could cause some problems.
  6791.    ------------------------------------------------------------------------
  6792.    <FUNCTION #:  912>
  6793.    SIG_LI        Request a Line Input from User. Works like JH_HK just       
  6794.                  that it wont display the Characters entered instead         
  6795.                  it will show Dots (".") - Just like on a PW Prompt.         
  6796.                                                                                
  6797.                  msg->Command = 912                                          
  6798.                  msg->Data    = Amount of Maximum Chars to be entered.       
  6799.    ------------------------------------------------------------------------
  6800.    <FUNCTION #:  1000>
  6801.    DT_ADDBIT     Reserved, DO NOT USE.
  6802.  
  6803.                  msg->Command = 1000
  6804.  
  6805.    ------------------------------------------------------------------------
  6806.    <FUNCTION #:  1001>
  6807.    DT_REMBIT     Reserved, DO NOT USE.
  6808.  
  6809.                  msg->Command = 1001
  6810.    ------------------------------------------------------------------------
  6811.    <FUNCTION #:  1002>
  6812.    DT_QUERYBIT   Reserved, DO NOT USE.
  6813.  
  6814.                  msg->Command = 1002
  6815.  
  6816. ----------------------------------------------------------------------------
  6817.  
  6818.                        NOTE!!!!!,, VERY IMPORTANT!!!
  6819.  
  6820.    DO NOT USE ANY COMMANDS THAT ARE NOT DOCUMENTED, SERIOUS PROBLEMS COULD
  6821.    OCCUR. The commands that are Obsolete or Reserved do not use either. 
  6822.  
  6823.  
  6824. 16. CHAPTER 16 Misc. Information on /X and S!X of Interest
  6825.     ======================================================
  6826.  
  6827. *****************************************************************
  6828. CHAPTER 16 Misc. Information on /X and S!X of Interest
  6829. *****************************************************************
  6830.  
  6831. A.  USING "REVISION.DOC".......portions still not completely incorporated
  6832.                                correctly into your S!X Manual.  Sorry :^))
  6833.  
  6834.     <FROM: V0.39d6>
  6835.  
  6836.     Yyou`ll now also get a sexpress.catalogue File in each Update which
  6837.     you`d have to put into your locale:catalogue Directory (i guess hehe).                   
  6838.     aswell as a sexpress.cd / sexpress.ct File.                                   
  6839.     the sexpress.cd shows you which Text Files you can create. at this Time       
  6840.     its not allowed to change the Order of the %s %d etc Kind of ASCII`s.         
  6841.     I`ll make it soon so you can change that too..                                
  6842.     I`ll supply a Utilitie called CATEDIT to Edit the Catalogue - maybe two of    
  6843.     them. BETTER DOCUMENTS ABOUT THAT SOON!
  6844.  
  6845.  
  6846.     <FROM: V0.39d9>                                                 
  6847.                                                                             
  6848.     Inserted a small SYSOPLOG - This is ALWAYS on, maybe (!) soon as an Option.
  6849.     The Sysoplog contains every Info on Account Changes including the NAME of  
  6850.     the Co-Sysop/Sysop changing a Users Informations. (This ones for you Ped!)
  6851.  
  6852.     <FROM: V0.39e>
  6853.     Changed the Express to ALWAYS use the .catalog File - even if the       
  6854.     defaults set to ENGLISH (previously it would not accept the .catalog    
  6855.     Files in the locale:catalogs/english/ drawer if the WB Language would be
  6856.     set to english.)
  6857.  
  6858.     <FROM: V0.39j>
  6859.  
  6860.     First preparation for FAX RECEIVE!........certainly not finished as
  6861.     of V0.39u6
  6862.  
  6863.     
  6864.     Made it possible to reserve a Port for a User from the Remote Side.      
  6865.     All you need to do is save a Text called RESERVENAME to the Port Directory
  6866.     of the Port you wish to be reserved and tell the ACP to tell the Express 
  6867.     to check for it. (i`ll supply a Source Code of my example Reserver.XIM   
  6868.     if you need it.)
  6869.  
  6870.     <FROM: V0.39l6>
  6871.                                                                       
  6872.     Put the Sent By String into the sexpress.catalog                     
  6873.     Put the Extention Default for Text Files into the sexpress.catalog   
  6874.     (eg: Bull.txt - The TXT is in Catalog.. so if you change it in a     
  6875.       different Catalog for say German Language to GER it`ll try to   
  6876.       display Bull.ger instead of Bull.txt (if it doesnt find it it`ll
  6877.       drop back to Bull.txt))                                         
  6878.     Put the MENU Line into the Catalog. Some may want to change it.
  6879.  
  6880.  
  6881. <NO_DEF>
  6882.     We never really have defined what CONF.DB and CONF.DB.TOP really
  6883.     do and what information is stored within them........this whole
  6884.     subject needs a full explanation whether it is automatically created
  6885.     or not......
  6886.     
  6887.     <FROM: V0.39m>
  6888.     Put in a Routine to automatically create the Conf.DB File(s) if they are
  6889.     non-existant. - Means the CONFDB Tool is not needed anymore.
  6890.  
  6891.     <FROM: V0.39n3>
  6892.  
  6893.     Changed the Way Express is initializing the Modems, now a Instant Login      
  6894.     with an already Connected Modem can be done.                                 
  6895.     Example:                                                                     
  6896.     -------------------------------------------------------------------------    
  6897.     You have been calling out with your Favorite Terminal Program.               
  6898.     Now a Call to the BBS comes in, you`ll see RING on your Terminal Screen      
  6899.     now before you could not let that Caller in without letting him Call back    
  6900.     after the Port is initialized again. Solution for now:                       
  6901.     Just enter                                                                   
  6902.     ATE0 <RETURN> <- to turn the Echo Mode OFF                                   
  6903.     ATA  <RETURN> <- give Carrier                                                
  6904.     after the Connection has been established you can tell the Guy on the other  
  6905.     Side to wait a few Seconds.                                                  
  6906.     Now load up your Port in the Background, after it says Awaiting Connect      
  6907.     quit the Terminal Program, uniconify (if required) the Port and Press F3     
  6908.     for Instant Login, at this Point the BBS should go on as if the User would   
  6909.     have called the BBS in "normal State"... the User can go on as he would like 
  6910.     to and didnt lose a Unit calling back...                                     
  6911.     --------------------------------------------------------------------------   
  6912.     I hope this Explanation is brief enough to let you understand what i ment.   
  6913.     By the Way, the above can only be done if the Terminal Program opened your   
  6914.     Serial Device in shared Mode, and the Terminals Baud Rate is EXACTLY the same
  6915.     as for your BBS.                                                             
  6916.     IF NOT LET ME KNOW!...                                                       
  6917.                                                                                  
  6918.     <FROM: V0.39o3>                    
  6919.  
  6920.     Express now checks for a File in the BBS:Node<x>/ Directory called      
  6921.     BYEBYE, if existant it`ll simply HANG UP on the Caller on that Port     
  6922.     (Just preparation for an Easy ByeBye Door.. requested by a "few" Guys   
  6923.     Main "Bugging" to the Coder was done by Wing Leader and Dragon Avenger)                 
  6924.                                                                           
  6925.     <FROM: V0.39z2>
  6926.  
  6927.     Express is now searching for ENV:ByeBye.<NodeNumber> instead of     
  6928.     BBS:Node<x>/ByeBye - Programmers please change it, Tests have proven
  6929.     that it is better to have these Files in ENV: than in BBS:Node<x>   
  6930.     (less Disk Activity on Uploads)
  6931.  
  6932.     =====================================================================    
  6933.  
  6934.     <FROM: V0.39o9>
  6935.                                                                       
  6936.     Built in Global MailREAD, FileSCAN, ZippySEARCH. Arguments should have
  6937.     a "G" behind.. example: "N S G", "Z <pattern> G", "R G"               
  6938.  
  6939.     <FROM: V0.39p> (04-17-95) "                                    
  6940.                                                                           
  6941.     As a Test/Preview of a New Option i put in the possibility to NOT let the 
  6942.     User ask for the File he  wishes to upload (since ZModem AND Hydra is     
  6943.     automatically detecting the Filename anyhow and the User is able to rename
  6944.     it incase the Filename is too big), to enable this just put a File called 
  6945.     "NoPreDesc" into the BBS: Directory, NOTE: Just a TEST/PREVIEW... if there
  6946.     is a need i`ll make it so the Sysop can select it from the ACP.STARTUP    
  6947.     (SUGGESTED by: The Crackin` Ltd *AND* Immortal (Just being lazy to do it))
  6948.     
  6949.     Included a Routine to REMEMBER the Flagged Files, still in Progress but 
  6950.     already working, The Flagged Files List will be stored to               
  6951.     BBS:FlaggedFiles/ Directory with the Name <USERNUMBER>_FlagList         
  6952.     it will or lets say does contain the Files that have been flagged (logic
  6953.     duh!) , the List looks like this:                                       
  6954.     File1 File2 File3 ... ...                                               
  6955.     each File is separated by a SPACE! - C-Programmers may want to use      
  6956.     stptok() to get the Filenames, look into your Handbook, i am probably   
  6957.     going to change the Way it is storing it so you just will have to read  
  6958.     it in Line by Line, but thats still just a Thought.
  6959.  
  6960.     <FROM: V0.39p2> (04-24-95) "                                     
  6961.                                                                               
  6962.     On Wildcard Selections for Downloads SigmaExpress will now ask for each      
  6963.     File. like this:                                                             
  6964.                                                                               
  6965.     CAUCTIO1.TXT             6825 Bytes (   6K),  0 mins  1 secs                 
  6966.     (Yes/No/Done) ?                                                              
  6967.                                                                               
  6968.     Ok, i know it looks a bit stupid, but i am working on the "Design"..         
  6969.     nevermind, if the User chooses Yes it`ll continue searching for the next     
  6970.     File and will prompt that one to him too, same goes for "No".                
  6971.     if the User chooses "D"one - it`ll stop searching and will go onto the normal
  6972.     Fileselection Line for downloading.                                          
  6973.     This was a suggestion by Elvin and since i got bored i "quickly" installed it
  6974.     >>STILL NEEDS TO BE TESTED MORE CAREFULLY<< (even tho it seems to work fine
  6975.  
  6976. <NO_DEF>
  6977.     <FROM: V0.39p4> (05-04-95) "                                 
  6978.                                                                           
  6979.     Fixed a small Bug with the "NODISPLAY" Option for FileChecking...        
  6980.     had a small return() ayt the WRONG Place, making it NOT Check the Archive
  6981.     if NODISPLAY File was found in BBS: Directory...
  6982.  
  6983. <NO_DEF>
  6984.     <FROM: V03.9p7> 
  6985.     We really have not described in ANY FASHION WHATSOEVER what BBS:user.misc
  6986.     does/contains/etc.  Even CONF.DB is a complete "??Unknown??"
  6987.  
  6988.     <FROM: V0.39q1> (06-23-95) "                                 
  6989.  
  6990.  
  6991. <BUG>  Don't redirect to a "non-Existant" command or get STACK OVERFLOW!!
  6992.        Don't redirect at itself either.....
  6993.                                                                    
  6994.     New Doortype: "I"nternal - just as in /X you can now "redirect" a command
  6995.     entered on the Menu Prompt to an internal Command e.g:                   
  6996.     1234567890123456...                                                      
  6997.     F         IM001N                                                         
  6998.     would redirect the "F" Command for FileListings to the "N" Command for   
  6999.     NewFiles...
  7000.  
  7001.     <FROM: V0.39q5> (07-06-95) "                                 
  7002.                                                                           
  7003.  
  7004. <NO_DEF>                                                                          
  7005.     Also the Files FORWARDMAIL, FREEDOWNLOADS are going to be checked        
  7006.     each Time you enter a Conference, before this was also done just at each 
  7007.     Booting up of a Node, you couldnt make any Changes to it when the System 
  7008.     was up, this is fixed and a lot more flexible now.                       
  7009.                                                                           
  7010.  
  7011.     <FROM: V0.39r6> (09-08-95) "                                        
  7012.                                                                                  
  7013.     In case of using the Conference Editor (which is in the Support Conference      
  7014.     on my BBS) you can now choose a alternate MsgBase Path, aswell as a internal    
  7015.     Password Function, plus the BBS would load in all of the Conference Informations
  7016.     each Time a User Logs on, you wont have to reboot anymore in case you change    
  7017.     a Conference`s Name, Password, Location or some other Option.
  7018.  
  7019. <NO_DEF>
  7020.     ENCRYPTED PASSWORDS....see Revision Doc from version 0.39x forward
  7021.  
  7022. <NO_DEF> 39z3. " Version 0.39z3 (07-16-96) "                                       
  7023.                                                                                 
  7024.     New Option for the ACP.Startup File:                                           
  7025.                                                                                 
  7026.     NODE<x> RINGCOUNTS <y>                                                         
  7027.                                                                                 
  7028.     <x> = The Node Number or '*' for ALL Nodes                                     
  7029.     <y> = The Amount of RING`s before the Node should send the Answer String       
  7030.        to the Modem. Should be useful in some Cases (e.g. Telnet Nodes with     
  7031.        Problems of answering an incoming Call, weird Phoneline Problems etc)    
  7032.                                                                                 
  7033.     Note: You also need the new ACP - Note #2: You HAVE to set the RINGCOUNTS      
  7034.                                             in the ACP.StartUp File!!           
  7035.                                                                                 
  7036.     Fixed a Bug with the ASCII Send Function (Shift-F4) - was trying to find       
  7037.     a File with a Space added behind. Works again now.                             
  7038.                                                                                 
  7039.     Btw: The '5' Command seems broken too (slightly), in the meantime just use     
  7040.          '5 <directory path>' instead. Same goes for '2' (so i heard...).          
  7041.                                                                                 
  7042.     Just checked the '2' Command, works fine on my End, People may try to check    
  7043.     if they actually have a Node0 Directory, i think if it doesnt exist it would   
  7044.     abort/skip the Rest... Note to myself: Need to change the Routine for that 2!  
  7045.                                                                                 
  7046.     Implemented a new MCI Command Sequence: ~SQ_<Filename>|                        
  7047.     Will show the specified Filename in nonstop Mode. Needs to be tested first tho.
  7048.  
  7049.     Added something else (well, not my own Idea tho.. :)):                        
  7050.     If a User enters his Password false for the 3rd Time it will set a Flag       
  7051.     in the User Data, next Time he calls he will only have ONE Try to enter       
  7052.     his PW correctly, if he succeeds he will be notified that there was a         
  7053.     Hack Attempt on his Account and the Flag will be reset. (Courtesy Tempest BBS)
  7054.  
  7055. @NODE 39z5. " Version 0.39z5 (07-21-96) "                                    
  7056.                                                                              
  7057.  Okay, Data-Stream actually found a BUG in the Revision.Doc (first Time,     
  7058.  hopefully the last one too.. apart from forgetting to include Links)        
  7059.                                                                              
  7060.  The File that is going to be displayed when a User had a Hack Attempt       
  7061.  on his Account is NOT called BBS:BBSTEXTS/HACK.TXT but instead its          
  7062.  BBS:BBSTexts/HackED.txt - Sorry for any Inconvience!                        
  7063.                                                                              
  7064.                                                                              
  7065.  Interphase reported a small "Flaw" where Express would not show the         
  7066.  "Sysop is selecting Files..." Text to the User, this is fixed now.          
  7067.                                                                              
  7068.  Express will now show a Text File called Hack.Txt in the BBSTexts Directory 
  7069.  in case of an Hack Attempt, should be more visible than just a String.      
  7070.  If the text File is not available, Express will just show the usual         
  7071.  "There was a Hack Attempt" String to the User and Pause.                    
  7072.  (Suggested by Data-Stream)                                                  
  7073.  
  7074. @NODE 39z6. " Version 0.39z6 (08-07-96) "                          
  7075.                                                                    
  7076.  OLM.Message.Txt will now also be displayed if the User selected   
  7077.  'Q'uick Logoff at the Transfer Start. Before it would drop Carrier
  7078.  on him without displaying that File. (Suggested by Noisy Belch)
  7079. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  7080. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  7081. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  7082.  
  7083.